親プロセスが終了したときにゾンビプロセスを処理する方法は?

親プロセスが終了したときにゾンビプロセスを処理する方法は?

親プロセスが終了したゾンビプロセスを削除するためにUnixシステムで使用される技術は何ですか?

答え1

プロセスの親プロセスが終了すると、init(プロセス1)はプロセスを継承します。次に、ゾンビになったまたはゾンビになったプロセスを収集します。

収穫は通常親が行います。両親は子供がいつ死ぬのかを知る必要があるからです。また、親プロセスがこれを知るまで、子プロセスのpidの再利用を中止する必要があります。そのため、親は間違ったプロセスにシグナルを送信しません(正しいpidがシグナルを受け取りましたが、pidは新しいプロセスに属します)。収穫の過程で、両親は子供を忘れなければなりません。

答え2

プロセスが終了し、そのプロセスにゾンビ状態の子プロセスがある場合、すべてのゾンビ子プロセスの親プロセスIDは1(initプロセス)に設定され、子プロセスを継承してクリーンアップします(つまり、initはゾンビを削除します)。 )

関連情報