Heute werden wir etwas über Zombie-Prozesse lernen. Insbesondere werden wir Sie dabei unterstützen, Zombie-Prozesse auf Ihren Linux-/Unix-Betriebssystemen zu finden und zu beenden.
Was ist ein Zombie-Prozess?
Auf Linux-/Unix-Betriebssystemen ist ein Defunc-Prozess (auch bekannt als Zombie-Prozess) ein Systemprozess, der seine Ausführung abgeschlossen hat, aber immer noch in der Systemprozesstabelle angezeigt wird. Mit anderen Worten, es ist ein leerer Prozess, der keine Aufgabe ausführt, aber immer noch existiert und eine Prozess-ID hat.
Wenn es einen Zombie-Prozess gibt, gibt es einen übergeordneten Prozess. Und genau wie in den Filmen reagieren Zombies nicht auf normale Tötungsmethoden. Unter Unix / Linux ist es dasselbe, Sie können den Zombie nicht töten, aber Sie können den übergeordneten Prozess töten, wodurch der Zombie-Prozess sofort verschwindet.
Zombie-Prozesse können auf fast jedem Unix-/Linux-Betriebssystem gefunden werden, und dazu gehören auch cPanel-Server.
Wie kann ich Zombie-Prozesse auf meinem System auflisten?
Zombies-Prozesse können gefunden werden, indem Sie den Befehl ps verwenden und einen grep-Befehl mit der Zeichenfolge „defunc“ oder „Z“ in der Spalte „STAT“ weiterleiten.
Beispiel:Finden von Zombie-Prozessen mit ps und grep.
ps aux |grep "defunct"
oder
ps aux | grep 'Z'
Ausgabebeispiel:
[[email protected]:~]ps aux | grep 'Z' USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 28115 0.0 0.0 103320 864 pts/0 S+ 09:26 0:00 grep Z johndoe 3572 0.0 0.0 0 0 ?? Z 20:41 0:00 some.command
Zombie-Prozesse beenden
Um nun den Zombie-Prozess zu beenden, beenden Sie einfach den 3572-Prozess und er sollte verschwunden sein. Lassen Sie uns den Befehl pstree verwenden, um den übergeordneten Prozess zu finanzieren
pstree -p -s 3572
Die Ausgabe sollte in etwa so aussehen:
init(1)---cnid_metad(1201)---cnid_dbd(3572)
Dies zeigt die PID des Elternteils des Zombie-Prozesses. Jetzt müssen Sie den übergeordneten Prozess beenden.
[[email protected]]# kill -9 3572
Alles erledigt, jetzt wissen Sie, wie Sie Zombie-Prozesse auf Linux / Unix-Betriebssystemen finden und beenden. Kennen Sie andere Möglichkeiten, Zombie-Prozesse unter Linux/Unix zu finden und zu beenden? Bitte teilen Sie Ihr Wissen mit uns.
Weiterführende Literatur:
- Zombie-Prozesskonzept
- Zombie-Prozess auf RedHat-Mailingliste