Wie kann ich einen Zombie-Prozess beenden oder den übergeordneten Prozess auf einem Mac mithilfe des Terminals finden?
kill
Signale funktioniert für Zombies IIRC. Ich habe das schon einmal erlebt.
Wie kann ich einen Zombie-Prozess beenden oder den übergeordneten Prozess auf einem Mac mithilfe des Terminals finden?
kill
Signale funktioniert für Zombies IIRC. Ich habe das schon einmal erlebt.
Antworten:
Hack Saw sagt:
Leider scheint es beim Töten von Zombies nur darum zu gehen , den Elternteil zu töten , und wenn der Elternteil / sbin / launchd ist, können Sie ihn nur durch einen Neustart töten.
Es wäre eine sehr schlechte Idee zu töten launchd
, aber Sie können es HUP sagen.
Versuchen sudo kill -s HUP 1
Dies führt launchd
zu einer Neuinitialisierung ohne Neustart. Dies hat in der Vergangenheit bei mir funktioniert (z. B. Entfernen von Zombie-Einträgen).
Leider scheint es beim Töten von Zombies nur darum zu gehen , den Elternteil zu töten , und wenn der Elternteil / sbin / launchd ist, können Sie ihn nur durch einen Neustart töten.
Ich bekomme Zombies davon, Xcode zu verwenden und den Simulator anzuhalten, und er übergibt die Zombies meinem persönlichen / sbin / launchd, der beim Abmelden nicht verschwunden ist.
Der Befehl ps -xo pid, ppid, stat, zeigt Ihnen Ihre Prozesse mit der übergeordneten ID in der zweiten Spalte.
Zombie-Prozesse sind bereits tot und können nicht getötet werden. Sie sollten automatisch aus der Prozesstabelle entfernt werden, wenn der übergeordnete Prozess stirbt.
Sie verlangsamen Ihre Maschine nicht und Sie können sie dort lassen (sie sind nur Einträge in der Prozesstabelle).
Es gibt eine maximale Anzahl von Prozessen (Sie können dies überprüfen sysctl kern.maxproc
) und Zombie-Prozesse reduzieren sie (wenn sie gezählt werden).
Wenn Sie dieses Limit erreichen, können Sie keine neuen Prozesse erstellen und müssen neu starten.