シグナルの種類 | trapコマンドによる動作定義がない場合 | trapコマンドによる動作定義がある場合 |
---|
終了要求シグナル | SIGTERM | 【Linuxの場合】
- ルートジョブが受信した場合
1回目:子孫プロセスの終了や一時ファイルの削除などの後処理を行ってから,後続コマンドを実行しないでシグナルによりエラー終了します。 2回目:即時終了します。
- 子孫ジョブが受信した場合
受信した子孫ジョブは,受信メッセージAを出力し,後処理を実行してから,後続命令を実行しないでシグナルによりエラー終了します。 このとき,受信した子孫ジョブの親のジョブは,終了した子孫ジョブの結果に従って,後続処理を実行します。※1
【AIXの場合】 1回目:子孫プロセスの終了や一時ファイルの削除などの後処理を行ってから,後続コマンドを実行しないでシグナルによりエラー終了します。 2回目:即時終了します。 | trapコマンドで動作を定義できません。 |
SIGHUP,SIGINT,SIGXCPU,SIGXFSZ,SIGQUIT,SIGUSR1,SIGUSR2,SIGPIPE,SIGALRM,SIGVTALRM,SIGPROF | 【Linuxの場合】
- ルートジョブが受信した場合
子孫プロセスの終了や一時ファイルの削除などの後処理を行ってから,後続命令を実行しないでシグナルによりエラー終了します。
- 子孫ジョブが受信した場合
受信した子孫ジョブの動作はルートジョブ受信時と同じです。 ここで受信した子孫ジョブの親のジョブは,終了した子孫ジョブの結果に従って,後続処理を実行します。※1
【AIXの場合】 子孫プロセスの終了や一時ファイルの削除などの後処理を行ってから,後続命令を実行しないでシグナルによりエラー終了します。 | 【Linuxの場合】
- ルートジョブが受信した場合
trapコマンドで定義した動作に従います。
- 子孫ジョブが受信した場合
受信した子孫ジョブの動作はルートジョブ受信時と同じです。 ここで受信した子孫ジョブの親のジョブは,子孫ジョブの結果に従って,後続処理を実行します。
【AIXの場合】 trapコマンドで定義した動作に従います。 |
SIGMSG,SIGDANGER,SIGMIGRATE,SIGPRE,SIGVIRT,SIGALRM1,SIGRECONFIG,SIGCPUFAIL,SIGGRANT,SIGRETRACT,SIGSOUND | 上記と同様です。【AIX限定】 | 上記と同様です。【AIX限定】 |
異常通知シグナル | SIGILL,SIGTRAP,SIGABRT,SIGFPE,SIGBUS,SIGSEGV,SIGSYS | 【Linuxの場合】
- ルートジョブが受信した場合
対象シグナルに対するOSのデフォルトの動作に従ってプログラムを終了します。
- 子孫ジョブが受信した場合
受信した子孫ジョブの動作はルートジョブ受信時と同じです。 ここで受信した子孫ジョブの親のジョブは,終了した子孫ジョブの結果に従って,後続処理を実行します。※1
【AIXの場合】 対象シグナルに対するOSのデフォルトの動作に従ってプログラムを終了します。 | 【Linuxの場合】
- ルートジョブが受信した場合
trapコマンドで定義した動作に従います。
- 子孫ジョブが受信した場合
受信した子孫ジョブの動作はルートジョブ受信時と同じです。 ここで受信した子孫ジョブの親のジョブは,子孫ジョブの結果に従って,後続処理を実行します。
【AIXの場合】 trapコマンドで定義した動作に従います。 |
SIGLOST,SIGIOT,SIGEMT | 上記と同様です。【AIX限定】 | 上記と同様です。【AIX限定】 |
上記以外 | 【Linuxの場合】
- ルートジョブが受信した場合
対象シグナルに対するOSのデフォルトの動作に従います。
- 子孫ジョブが受信した場合
受信した子孫ジョブの動作はルートジョブ受信時と同じです。 ここで受信した子孫ジョブの親のジョブは,子孫ジョブの結果に従って,後続処理を実行します。※1
【AIXの場合】 対象シグナルに対するOSのデフォルトの動作に従います。 | 【Linuxの場合】
- ルートジョブが受信した場合
trapコマンドで定義した動作に従います。※2
- 子孫ジョブが受信した場合
受信した子孫ジョブの動作はルートジョブ受信時と同じです。 ここで受信した子孫ジョブの親のジョブは,子孫ジョブの結果に従って,後続処理を実行します。
【AIXの場合】 trapコマンドで定義した動作に従います。※2 |