Zurück zur Übersicht

Begriff

Zombie Process

Linux Operating System S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Ein Prozess (Programm) ist fertig mit der Arbeit. Er stirbt (exit). Normalerweise verschwindet er dann aus der Liste (top). Manchmal bleibt er aber stehen, markiert als <defunct> oder Z. Das ist ein Zombie. Er verbraucht keine CPU und keinen Speicher. Er ist schon tot. Er belegt nur noch einen Platz in der Prozesstabelle (eine Zeile). Warum ist er noch da? Weil sein "Eltern-Prozess" noch nicht seinen Totenschein abgeholt hat.

Merksatz: Ein bereits beendeter Prozess unter Linux/Unix, der noch in der Prozesstabelle steht, weil sein Elternprozess den Exit-Status noch nicht abgefragt hat.


Quick-Check

  1. Ist ein Zombie gefährlich?
    Einzeln nein (verbraucht 0 Ressourcen). In Massen ja (PID-Verbrauch). Sie sind meist ein Symptom für schlechten Code im Eltern-Programm.
  2. Orphan vs. Zombie?
    Orphan (Waise): Elternteil stirbt vor dem Kind. Das Kind wird von Init (PID 1) adoptiert und läuft weiter. Zombie: Kind stirbt vor dem Elternteil, aber Elternteil ignoriert den Tod.
  3. Sleeping Process?
    Status S. Das ist kein Zombie. Der Prozess lebt, wartet aber auf etwas (Netzwerk, Input). Völlig normal.