linuxの信号
- SIGHUP
- SIGINT
- SIGQUIT CORE , core
- SIGILL CORE
- SIGTRAP CORE
- SIGBUS CORE
- SIGSEGV CORE
- SIGFPE CORE
- SIGIOT CORE I/O
- SIGKILL
- SIGPIPE
- SIGALARM
- SIGTERM
- SIGSTOP
- SIGTSTP
- SIGCONT
- SIGURG I/O
- SIGIO I/O
- SIGCHLD
- SIGTTOU
- SIGTTIN
- SIGXGPU CPU
- SIGXFSZ
- SIGWINCH
- SIGPROF
- SIGUSR1 1
- SIGUSR2 2
- SIGVTALRM
1)SIGHUP本信号は、ユーザ端末の接続(正常または非正常)が終了するときに発するものであり、通常は、端末の制御プロセスが終了するときに、同一セッション内の各ジョブに対して通知され、このときそれらは制御端末と関連する.2)SIGINTプログラム終了(interrupt)信号は、ユーザがINTR文字(通常はCtrl-C)を入力ときに発する3)SIGQUITはSIGINTと同様であるが、QUIT文字(通常はCtrl-)によって制御.プロセスはSIGQUITの終了を受け取ることでcoreファイルを生成する、という意味でプログラムエラー信号に類似する.4)SIGILLは不正な命令を実行する.通常、実行可能ファイル自体にエラーが発生するか、データセグメントを実行しようとするためである.スタックオーバーフロー時にもこの信号が発生する可能性がある.5)SIGTRAPはブレークポイント指令または他のtrap指令により生成する.debuggerで使用する.6)SIGABRTプログラム自体がエラーを発見してabortを呼び出すときに発生する.6)SIGIOTはPDP-11上でiot命令により生成する、他の機器ではSIGABRTと同様である.7)SIGBUS不正アドレス、メモリアドレス整列エラーを含む.eg:4文字の整数にアクセスするが、アドレスは4の倍数ではない.8)SIGFPEは、致命的な算術演算エラーが発生するときに発行する.浮動小数点演算エラーだけでなく、オーバーフローや除数が0などの他のすべての算術エラーも含む.9)SIGKILLは、プログラムの実行を直ちに終了するためのものである.本信号はブロック、処理、無視することはできない.10)SIGUSR 1はユーザに残す11)SIGSEGVは、自分に割り当てられていないメモリにアクセスしようとしたり、書き込み権限のないメモリアドレスにデータを書こうとしたりする.12)SIGUSR 2は、ユーザに13)SIGPIPE Broken pipe 14)SIGALRMクロックタイミング信号を残す、実際の時間またはクロック時間を算出する.Alarm関数はこの信号を用いる.15)SIGTERMプログラム終了(terminate)信号は、SIGKILLとは異なる、この信号をブロックして処理することができる.通常、プログラム自体が正常に終了するように要求する.shellコマンドkillはデフォルトでこの信号を生成する.17)SIGCHLDサブプロセスが終了すると、親プロセスはこの信号を受け取る.18)SIGCONTは停止プロセスを継続させる.本信号はブロックできない.プログラムをstopped状態から実行を継続するときに特定の作業を完了させるには、handlerを用いることができる.例えば、再表示プロンプト19)SIGSTOPは、プロセスの実行を停止する.terminateおよびinterruptとの違いに注意してください.このプロセスはまだ終了していません.実行を一時停止するだけです.本信号はブロック、処理または無視することはできない.20)SIGTSTPはプロセスの動作を停止するが、この信号は処理及び無視することができる.ユーザがSUSP文字を入力と(通常Ctrl-Z)この信号21が発行される)SIGTTINバックグラウンドジョブがユーザ端末からデータを読み出すと、そのジョブの全てのプロセスがSIGTTIN信号を受け取る.デフォルトでは、これらのプロセスは実行を停止します.22)SIGTTOUはSIGTTINに類似するが、端末の書き込み(または端末モードの変更)時に受信.23)SIGURGに「緊急」データまたはout-of-bandデータがsocketに到達ときに発生する.24)SIGXCPUがCPUの時間リソース制限を超える.この制限はgetrlimit/setrlimitによって読み取り/変更可能である25)SIGXFSZはファイルサイズリソース制限を超える.26)SIGVTALRM仮想クロック信号.SIGALRMと同様であるが、そのプロセスにかかるCPU時間を算出する.27)SIGPROFはSIGALRM/SIGVTALRMと同様であるが、このプロセスに用いるCPU時間およびシステム呼び出し時間を含む.28)SIGWINCHウィンドウサイズ変更時に発行する.29)SIGIOファイル記述子の準備が整い、入出力操作を開始することができる.30) SIGPWR Power failure
プロセスを停止するには、SIGTERMとSIGKILLの2つの信号があります.SIGTERMは比較的に友好的で、プロセスはこの信号を捉えることができて、あなたの必要に応じてプログラムを閉じます.プログラムを閉じる前に、開いているレコードファイルを終了し、作業中のタスクを完了できます.場合によっては、プロセスがジョブ中であり、中断できない場合、プロセスはこのSIGTERM信号を無視することができる.
SIGKILL信号の場合、プロセスは無視できません.「何をしていても、すぐに止めます」という信号です.SIGKILL信号をプロセスに送信すると、Linuxはプロセスを停止します.