読者です 読者をやめる 読者になる 読者になる

Unix シグナルについて

実行中のプロセスに対して、さまざまなイベントを通知するために送出されるものである。

【シグナルの確認】

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

【シグナル種類】

1	HUP	プロセスに再起動を通知する。
2	INT	プロセスに割り込みを通知する。(Ctrl+c)
3	QUIT	プロセスに終了を通知する(coreを作成する)。
9	KILL	プロセスに強制終了を通知する。
15	TERM	プロセスに終了を通知する。(デフォルト)
18	CONT	プロセスに再開を通知する。
19	STOP	プロセスに中断を通知する。
20	TSTP	プロセスにサスペンドを通知する。(Ctrl+Z)


kill 9 starman
これstarmanのプロセス殺す時によく使ってたけど、
starmanのプロセスに強制終了のシグナル送ってたのね。

INT プロセスに割り込みを通知する。(Ctrl+c)
めっちゃ使ってるし。

trap 'echo test' 2
ってすると
プロセスに割り込んだ時(Ctrl+c)に
testって出力された!

root# trap 'echo test' 2 
root# test 
test
test
test

指定したシグナルをトリガーにイベント発生させられるみたい。

解除したい時は
trap 2


参考ページ
http://shellscript.sunone.me/signal_and_trap.html