Skip to content

Instantly share code, notes, and snippets.

@sechiro
Last active November 28, 2017 08:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save sechiro/4965871 to your computer and use it in GitHub Desktop.
Save sechiro/4965871 to your computer and use it in GitHub Desktop.
Bash signal trap template. Bashでよく使うシグナルトラップのテンプレート。
#!/bin/bash
set -u # Check unset variables only
#set -ue # Check unset variables. Exit on error
LANG=C
# Trap signals
trap_HUP() {
echo "Trap HUP signal."
exit 1
}
trap_INT() {
echo "Trap INT signal."
exit 1
}
trap_TERM() {
echo "Trap TERM signal."
exit 1
}
trap_QUIT() {
echo "Trap QUIT signal."
exit 1
}
on_exit(){
echo "Kill child processes on exit by 'pkill -P $$'"
pkill -P $$
echo "Exit."
}
on_error() {
errcode=$?
echo "error line $1: command exited with status $errcode."
}
trap 'trap_HUP' HUP
trap 'trap_INT' INT
trap 'trap_QUIT' QUIT
trap 'trap_TERM' TERM
# bash pseudo-signals
trap 'on_exit' EXIT
trap 'on_error $LINENO' ERR
@sechiro
Copy link
Author

sechiro commented Feb 16, 2013

エラー時のトラップはこちらを参考にしました。
http://dharry.hatenablog.com/entry/20101121/1290273723

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment