ゾンビプロセスが引き続きプロセステーブルエントリ(特にプロセス識別子またはPID)を消費し、リソースリークを引き起こすという内容をどこかで読みました(どこを忘れました)。
ゾンビプロセスはCPUやメモリ(プロセステーブルエントリを除く)を使用しません。これは正しいですか?これはゾンビプロセスがまだ占有しているすべてのリソースですか?
使用されたリソースがゾンビプロセスを削除する理由になる可能性がありますか?
ゾンビプロセスを削除する必要がありますか?
答え1
wait(2)
ゾンビプロセスは、親プロセスなしで終了(正常または異常)するプロセスです。死んだため、リソース(PIDを除く)を消費しません。 ウィキペディアこれらすべてについて合理的な説明があります。
答え2
システムは限られた数のPID(2 ^ 16だと思います)を使用します。すべてのPIDスロットが使用されると、システムは新しいプロセスを作成できません。これがゾンビの収穫に注意する必要がある理由です。特に、プログラムが多くのプロセスを生成する場合(たとえば、サーバーをフォークするなど)。