Contents
- UNIX
- Windows
- サーバ
- プログラミング言語
- データベース
- プロトコル
- サービス
- オープンソース
- 規格・技術
- アプリケーション
- PC
- DEVICE
- その他(未分類)
お問合せ: メールフォーム
シグナルとは、実行中のプロセスに対して、各種イベントを通知するために送出される合図(信号)です。
よく使用されるシグナルには、SIGTERM や SIGHUP、SIGKILL などがあります。
シグナルは全部で数十種類が存在します。
% kill -l HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
名称 | 値 | 意味 |
---|---|---|
HUP | 1 | ハングアップ |
INT | 2 | 割り込み (Ctrl + C) |
QUIT | 3 | プログラムの実行を中止 |
KILL | 9 | プログラムの強制終了 |
TERM | 15 | プログラムの終了 |
trap コマンドは送出されたシグナルを捕捉し、あらかじめ指定されていた処理を実行するコマンドです。
下の例は、HUP INT QUIT TERM のいずれかのシグナルを捕捉した場合、一時ファイルを削除して終了します。
なお、終了ステータスは「1」を送ります。
% trap "rm -f /tmp/hoge.tmp.$$; exit 1" HUP INT QUIT TERM
以下のように値(番号)で指定しても良い。
% trap "rm -f /tmp/hoge.tmp.$$; exit 1" 1 2 3 15
※. 「強制終了のシグナル KILL 9 は trap することはできない」 のであえて記述しません。(リストに含めない)