![ゾンビプロセスを削除する必要がありますか? [コピー]](https://linux33.com/image/65613/%E3%82%BE%E3%83%B3%E3%83%93%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
ゾンビプロセスが引き続きプロセステーブルエントリ(特にプロセス識別子またはPID)を消費し、リソースリークを引き起こすという内容をどこかで読みました(どこを忘れました)。
ゾンビプロセスはCPUやメモリ(プロセステーブルエントリを除く)を使用しません。これは正しいですか?これはゾンビプロセスがまだ占有しているすべてのリソースですか?
使用されたリソースがゾンビプロセスを削除する理由になる可能性がありますか?
ゾンビプロセスを削除する必要がありますか?
答え1
wait(2)
ゾンビプロセスは、親プロセスなしで終了(正常または異常)するプロセスです。死んだため、リソース(PIDを除く)を消費しません。 ウィキペディアこれらすべてについて合理的な説明があります。
答え2
システムは限られた数のPID(2 ^ 16だと思います)を使用します。すべてのPIDスロットが使用されると、システムは新しいプロセスを作成できません。これがゾンビの収穫に注意する必要がある理由です。特に、プログラムが多くのプロセスを生成する場合(たとえば、サーバーをフォークするなど)。