シグナルとは、プロセス間又はスレッド間で非同期イベントの発生を伝えるプロセス間通信であり、おもに割り込み処理をさせるために使用されている。シグナルの種類はUnixの種類により異なり、kill -lコマンドで確認することができる。

シグナル
シグナル説明
SIGHUP ハングアップ(hangup)
擬似端末をクローズしたときに、その端末から起動されたプロセスグループに送られる。
SIGINT 割り込み(interrupt)
端末から割り込みキー(Ctrl + C)を謳歌したときに発生する。
SIGQUIT 終了(quit)
端末から終了キー(Ctrl + \)を押下したときに発生する。
SIGKILL 強制終了(kill)
killコマンドなどで明示的に発生させる。キャッチ及び無視できないシグナル。

killコマンドでプロセスにシグナルを送ることができる。

シェル組み込みコマンドであるtrapを使って、送出されたシグナルを補足してコマンドを実行することができる。

trap 'command' signal-no [signal-no ...]
$ trap 'echo trapped.' 2
スポンサーリンク