シグナル処理アクションの定義
コンパイル・コマンドで SYSIFCOPT(*NOASYNCSIGNAL) が指定された場合の、C シグナル値とそれらの処理アクション定義の初期状態について、次の表で説明します。 SIG_DFL は、常に状態をハンドラーにパーコレートします。「再開」とは、例外が処理され、アプリケーションが続行されることを意味します。
| シグナル値 | 初期状態 | SIG_DFL | SIG_IGN | ハンドラーからの戻り |
|---|---|---|---|---|
| SIGABRT1 | SIG_DFL | パーコレート | 無視 | 再開 |
| SIGALL2 | SIG_DFL | パーコレート | 無視 | 再開 |
| SIGFPE | SIG_DFL | パーコレート | 無視3 | 再開4 |
| SIGILL | SIG_DFL | パーコレート | 無視3 | 再開4 |
| SIGINT | SIG_DFL | パーコレート | 無視 | 再開 |
| SIGIO | SIG_IGN | パーコレート | 無視 | 再開 |
| SIGOTHER | SIG_DFL | パーコレート | 無視3 | 再開4 |
| SIGSEGV | SIG_DFL | パーコレート | 無視3 | 再開4 |
| SIGTERM | SIG_DFL | パーコレート | 無視 | 再開 |
| SIGUSR1 | SIG_DFL | パーコレート | 無視 | 再開 |
| SIGUSR2 | SIG_DFL | パーコレート | 無視 | 再開 |
注:
|
||||
コンパイル・コマンドで SYSIFCOPT(*ASYNCSIGNAL) が指定された場合の、C シグナル値とそれらの処理アクション定義の初期状態について、次の表で説明します。
| 値 | デフォルト・アクション | 意味 |
|---|---|---|
| SIGABRT | 2 | 異常終了 |
| SIGFPE | 2 | マスクされない演算例外 (オーバーフロー、ゼロによる割り算、誤った演算など) |
| SIGILL | 2 | 誤った関数イメージの検出 |
| SIGINT | 2 | 対話式アテンション |
| SIGSEGV | 2 | ストレージへの誤ったアクセス |
| SIGTERM | 2 | プログラムへ送信された終了要求 |
| SIGUSR1 | 2 | ユーザー・アプリケーションによる使用目的 |
| SIGUSR2 | 2 | ユーザー・アプリケーションによる使用目的 |
| SIGALRM | 2 | alarm() が発信するタイムアウト・シグナル |
| SIGHUP | 2 | 制御端末がハングアップしたか、または制御プロセスが終了した。 |
| SIGKILL | 1 | 取得できないか、または無視できない終了シグナル |
| SIGPIPE | 3 | 読み取り中ではないパイプへの書き込み |
| SIGQUIT | 2 | 端末の終了シグナル |
| SIGCHLD | 3 | 終了または停止された子プロセス。SIGCLD は、このシグナルの別名。 |
| SIGCONT | 5 | 続行 (停止した場合) |
| SIGSTOP | 4 | 取得できないか、または無視できないストップ・シグナル |
| SIGTSTP | 4 | 端末のストップ・シグナル |
| SIGTTIN | 4 | 制御端末から読み取ろうとしたバックグラウンド・プロセス |
| SIGTTOU | 4 | 制御端末へ書き込もうとしたバックグラウンド・プロセス |
| SIGIO | 3 | 入力または出力の完了 |
| SIGURG | 3 | 高帯域幅データがソケットで使用可能。 |
| SIGPOLL | 2 | ポーリング可能イベント |
| SIGBUS | 2 | 指定例外 |
| SIGPRE | 2 | プログラミング例外 |
| SIGSYS | 2 | 無効なシステム呼び出し |
| SIGTRAP | 2 | トレース・トラップまたはブレークポイント・トラップ |
| SIGPROF | 2 | プロファイル・タイマーの有効期限切れ。 |
| SIGVTALRM | 2 | 仮想タイマーの有効期限切れ。 |
| SIGXCPU | 2 | プロセッサーの制限時間を超過。 |
| SIGXFSZ | 2 | ファイル・サイズの限界を超過。 |
| SIGDANGER | 2 | システム・クラッシュ寸前。 |
| SIGPCANCEL | 2 | 取得できないか、または無視できないスレッド終了シグナル。 |
デフォルト・アクション:
- 1
- プロセスの即時終了。
- 2
- 要求の終了。
- 3
- シグナルの無視。
- 4
- プロセスの停止。
- 5
- 現在停止している場合には、プロセスを続行。そうでない場合には、シグナルを無視。