ゾンビプロセスを削除する必要がありますか? [コピー]

ゾンビプロセスを削除する必要がありますか? [コピー]

ゾンビプロセスが引き続きプロセステーブルエントリ(特にプロセス識別子またはPID)を消費し、リソースリークを引き起こすという内容をどこかで読みました(どこを忘れました)。

ゾンビプロセスはCPUやメモリ(プロセステーブルエントリを除く)を使用しません。これは正しいですか?これはゾンビプロセスがまだ占有しているすべてのリソースですか?

使用されたリソースがゾンビプロセスを削除する理由になる可能性がありますか?

ゾンビプロセスを削除する必要がありますか?

答え1

wait(2)ゾンビプロセスは、親プロセスなしで終了(正常または異常)するプロセスです。死んだため、リソース(PIDを除く)を消費しません。 ウィキペディアこれらすべてについて合理的な説明があります。

答え2

システムは限られた数のPID(2 ^ 16だと思います)を使用します。すべてのPIDスロットが使用されると、システムは新しいプロセスを作成できません。これがゾンビの収穫に注意する必要がある理由です。特に、プログラムが多くのプロセスを生成する場合(たとえば、サーバーをフォークするなど)。

関連情報