it-swarm.com.de

"Es gibt 1 Zombie-Prozess"

Diese Meldung wird angezeigt, wenn ich mich bei meinem Computer anmelde ...

There is 1 zombie process.
  • Was sagt es mir?
  • Ist das etwas, worüber ich mir Sorgen machen sollte?
  • Wenn ja, was soll ich dann tun und wie?
34
John Mee

Da gibt es nichts worüber man sich Sorgen machen müsste :

Zombie

Unter Unix-Betriebssystemen ist ein Zombie-Prozess oder ein nicht mehr funktionierender Prozess ein Prozess, dessen Ausführung abgeschlossen wurde, der jedoch noch einen Eintrag in der Prozesstabelle enthält, sodass der Prozess, der ihn gestartet hat, seinen Exit-Status lesen kann. In der farbenfrohen Metapher des Begriffs ist der Kinderprozess gestorben, aber noch nicht geerntet worden.

Wenn ein Prozess endet, werden der gesamte Speicher und die damit verbundenen Ressourcen freigegeben, damit sie von anderen Prozessen verwendet werden können. Der Eintrag des Prozesses in der Prozesstabelle bleibt jedoch erhalten. Dem Elternteil wird ein SIGCHLD-Signal gesendet, das angibt, dass ein Kind gestorben ist. Der Handler für dieses Signal führt normalerweise den Wartesystemaufruf aus, der den Beendigungsstatus liest und den Zombie entfernt. Die Prozess-ID und der Eintrag des Zombies in der Prozesstabelle können dann wiederverwendet werden. Wenn ein Elternteil die SIGCHLD ignoriert, bleibt der Zombie in der Prozesstabelle. In einigen Situationen kann dies wünschenswert sein. Wenn beispielsweise das übergeordnete Element einen anderen untergeordneten Prozess erstellt, wird sichergestellt, dass ihm nicht dieselbe Prozess-ID zugewiesen wird.

Quelle: http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process

29
Marc-Andre R.

Ich konnte den Zombie-Prozess nach diesem Tutorial beenden - https://vitux.com/how-to-kill-zombie-processes-in-ubuntu-18-04/ .

Grundsätzlich:

1) Identifizieren Sie den Zombie-Prozess:

ps axo stat,ppid,pid,comm | grep -w defunct

2) Beenden Sie den übergeordneten Prozess:

Sudo kill -9 <parent_process_number>

Ex: enter image description here

1
guizo

Wie in der akzeptierten Antwort erläutert, haben Sie einen Prozess, dessen Ausführung abgeschlossen ist, der sich jedoch noch in der Prozesstabelle befindet: https://serverfault.com/a/390216/48449

Dies sollte keinen Schaden anrichten, wenn es nur ein Prozess ist, aber dennoch nicht passieren. Wenn zu viele vorhanden sind und Sie den verursachenden übergeordneten Prozess, der diese erzeugt, nicht neu starten oder neu starten, können Sie die maximal zulässige Anzahl zulässiger Prozesse erreichen und schwerwiegende Probleme verursachen.

Um herauszufinden, ob Sorgen angebracht sind und zu welchem ​​anderen Prozess der Zombie gehört, funktioniert dies für mich:

ps -elf --forest | grep -C5 '<[d]efunct>'

Erhöhen Sie gegebenenfalls die Anzahl der Kontextzeilen, um Informationen über den übergeordneten Prozess zu erhalten. Korrigieren Sie diesen Prozess im Idealfall, damit er seine beendeten Unterprozesse "erntet".

0
exic