Skip to content
Latchkey

SIGCHLDとは?

SIGCHLDは、子が終了、kill、または停止によって状態を変えるたびに親プロセスへ配送されるsignalです。親は通常、wait操作を呼んで子をreapし、そのexit statusを読むことでこれを処理します。reapせずに無視すると、親が動くまで子はzombieのまま残ります。

なぜ重要か

プロセスのスーパーバイザやshellは、起動したjobがいつ終わるかを知るためにSIGCHLDに依存します。これの扱いを誤ることは、長時間動作するrunnerでzombieプロセスが溜まる一般的な原因です。

関連ガイド