Skip to content
Latchkey

ZombieとOrphanの違いとは?

zombieプロセスはすでに終了しているが、親がまだexit statusを読んでいないためprocess tableに残り、何もせずスロットを占有します。一方orphanは、親が終了しinitへreparentされた、生きているプロセスです。この2つは正反対の状況を表します。終了したがreapされていない子と、動作中だが親のいないものです。

なぜ重要か

両者を区別すると後始末のバグを特定できます。zombieは親がreapしていないこと、orphanは親が先に死んだことを意味します。プロセスの監督が弱いと、どちらも忙しいrunner上で溜まりえます。

関連ガイド