GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux:Finde und töte Zombie-Prozesse

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
Linux:Find and Kill Zombie Processes wurde zuletzt geändert:3. Januar 2017 von Esteban Borges
Linux
  1. So beenden Sie einen Zombie-Prozess unter Linux

  2. Wie finde und beende ich einen Prozess in Ubuntu

  3. Linux:Disowned-Prozess anzeigen und beenden

  4. Finden (und beenden) Sie alte Prozesse

  5. Beste Möglichkeit, Zombie- und D-State-Prozesse in Linux zu beenden

So finden und beenden Sie laufende Prozesse in Linux

So finden und töten Sie Zombie-Prozesse in CentOS 8

So finden und beenden Sie einen Prozess mit einem Linux-Terminal

Meistern Sie den Linux-Kill-Prozess mit ps, pgrep, pkill und mehr

So töten Sie Zombie-Prozesse in Ubuntu

So beenden Sie Prozesse in Linux mit kill, killall und pkill