Linuxコマンド集
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

trap  システム割り込み時の処理を設定する (Shell)

 構文  
trap [-l] [-p] commands signal_number

 オプション  
-l シグナル名と対応する番号の一覧を表示する
-p 単独で用いた場合,現在各シグナルに対して設定されている処理内容を表示する
commands 割り込みが発生したときに実行するコマンドを記述する
signal_number シグナル番号を記述する

 説明  

システム割り込みが発生した場合の処理内容を設定する。主なシグナル番号と意味は以下のとおり。使用例では,CTRL+Cを押すと,"CTRL+C is pushed."というメッセージが出力されるように設定している。


 主なシグナル  
0 シェルが終了した
1 ログアウト処理などによるハングアップが起こった
2 CTRL+Cなどによる割り込みが発生した
8 浮動小数点演算で例外が発生した
13 送り先のないパイプに書き込んだ
15 killコマンドなどによるプログラムの終了が起こった
17 子プロセスが終了した
21 バックグラウンド・プロセスがtty入力を待っている
28 端末エミュレータなどのウインドウのサイズを変更した

 使用例  
CTRL+Cによる割り込みが起こったことを表示する
$ trap "echo CTRL+C is pushed." 2

 関連事項  
top