UNIXやPOSIX準拠OS(Linux等)における、プロセスに対する割り込み機能のこと。
UNIX及びUNIX風のOSでは古くからある機能で、他のプロセスに対して非同期に特定の処理を行なわせたいとき、そのプロセスに対してシグナルを送信する。
プロセスはシグナルを受け取ると、決められた処理を行なう。sigaction(2)やsignal(2)システムコールによって、その動作を変更することが出来る。この時の処理を、シグナルハンドラという。
但しその実装方法はOSによって異なっており、また同じOSであってもバージョンによって異なることもある。
UnixWare、FreeBSD、Solaris、Linuxのシグナルを一覧化した。
配列順序は、UNIX System V系のUnixWareでのシグナル番号順。UnixWareにない各OS独自のものは、最後に順不同。
| シグナル名 | 環境 | 動作概要 |
|---|---|---|
| SIGHUP | POSIX | ハングアップ |
| SIGINT | ANSI | 割り込み(Ctrl+C) |
| SIGQUIT | POSIX | 中止 (ASCII FS) |
| SIGILL | ANSI | 不正命令(トラップされた場合、リセットされない) |
| SIGTRAP | POSIX | トレース/ブレークポイント (トラップされた場合、リセットされない) |
| SIGIOT | 4.2BSD | IOT命令 |
| SIGABRT | ANSI | abort()された (古いSIGIOTからの置き換え。番号は同じ) |
| SIGEMT | EMT命令、命令実行エミュレート | |
| SIGFPE | ANSI | 浮動小数点例外 |
| SIGKILL | POSIX | 強制終了 (キャッチや無視はできない) |
| SIGBUS | 4.2BSD | バスエラー |
| SIGSEGV | ANSI | セグメンテーション侵害 |
| SIGSYS | SVR4 | 無効な引数でのシステムコール |
| SIGPIPE | POSIX | パイプ破壊(読み手のないパイプへの書き出し) |
| SIGALRM | POSIX | アラームの時間切れ。alarm()、sleep()、usleep() |
| SIGTERM | ANSI | kill()からの終了要求シグナル |
| SIGUSR1 | POSIX | ユーザ定義シグナル1 |
| SIGUSR2 | POSIX | ユーザ定義シグナル2 |
| SIGCLD | System V | 子プロセスの一旦停止や終了 (SIGCHLDと同じ) |
| SIGCHLD | POSIX | 子プロセスの一旦停止や終了 |
| SIGPWR | System V | 電源障礙、再起動 |
| SIGWINCH | 4.3BSD | ウィンドウサイズが変化した |
| SIGURG | 4.2BSD | ソケットの緊急事態 |
| SIGPOLL | System V | ポーリング可能イベントの発生 (SIGIOと同じ) |
| SIGIO | 4.2BSD | ソケット入出力が可能になった |
| SIGSTOP | POSIX | プロセスの一旦停止 (キャッチや無視はできない) |
| SIGTSTP | POSIX | TTYからの一旦停止要求(Ctrl+Z) |
| SIGCONT | POSIX | 停止されたプロセスの再開 |
| SIGTTIN | POSIX | バックグラウンドプロセスのTTY入力 |
| SIGTTOU | POSIX | バックグラウンドプロセスのTTY出力 |
| SIGVTALRM | 4.2BSD | 仮想アラームの時間切れ |
| SIGPROF | 4.2BSD | プロファイリングタイマの時間切れ |
| SIGXCPU | 4.2BSD | CPUの制限時間超過 |
| SIGXFSZ | 4.2BSD | 作成可能ファイルサイズ制限の超過 |
| SIGWAITING | 全LWPが割り込み通知を妨害 | |
| SIGLWP | スレッドライブラリ実装用の予約 | |
| SIGAIO | 非同期入出力シグナル | |
| SIGINFO | BSD | 情報の要求(Ctrl+T) |
| SIGTHR | BSD | スレッドの割り込み |
| SIGSTKFLT | Linux | 数値演算プロセッサのスタックフォールト (未使用) |
| SIGUNUSED | Linux | 未使用のシグナル |
| SIGFREEZE | Solaris | CPRで使われる特殊なシグナル |
| SIGTHAW | Solaris | CPRで使われる特殊なシグナル |
| SIGCANCEL | Solaris | スレッドライブラリが使うスレッドキャンセルシグナル |
| SIGLOST | Solaris | リソースの喪失 |
| SIGRTMIN | Solaris | 優先度の高いリアルタイムシグナル |
| SIGRTMAX | Solaris | 優先度の低いリアルタイムシグナル |
| SIGNULL | pidへのアクセスのチェック |