GhaSShee


Shell Builtin


# built-in ## trap ~~~ trap : 2 // the shell won't be killed by SIGINT trap : 3 // the shell won't be killed by SIGQUIT ~~~ No | Kill Signal | meaning ---|--------------|-------- 1 | SIGHUP | 2 | SIGINT | Ctrl-c 3 | SIGQUIT | 4 | SIGILL | 5 | SIGTRAP | 6 | SIGABRT | 7 | SIGEMT | 8 | SIGFPE | 9 | SIGKILL | force kill imeadiately 10 | SIGBUS | ~~~ > kill -l HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 ~~~ ~~~ trap 'rm -f hoge.txt;exit 1' 2 ~~~ Ctrl+c --> ファイルを消してスクリプトが終了 (フラグファイルとか制御するのに便利) ~~~ trap '' 2 // Ctrl+cを無視 trap 2 // Ctrl+cを無視しなくする(設定を解除) ~~~ `:` null command ; always return 0(true) あるシグナルを「無視する」ように設定すると、 子プロセスもそのシグナルを「無視する」。 あるシグナルを受診すると「特定の処理を行う」ように設定した場合、 その設定は子プロセスには伝わらず、 子プロセスは該当シグナルに対して「デフォルトの処理を行う」