Frage

Ich habe ein außer Kraft gesetzte Prozess auf meinem system:

abc      22093 19508  0 23:29 pts/4    00:00:00 grep ProcA
abc      31756     1  0 Dec08 ?        00:00:00 [ProcA_my_collect] <defunct>

Wie kann ich töten, den oben genannten Prozess, ohne einen Neustart der Maschine?Ich habe versucht mit

kill -9 31756
sudo kill -9 31756
War es hilfreich?

Lösung

Sie haben den Prozess getötet, aber ein toter Prozess aus der Prozesstabelle verschwindet nicht, bis seine Eltern-Prozess eine neue Aufgabe „ernten“ (im Wesentlichen Aufruf wait(3) für den Prozessstatus lesen Austritts) genannt führt. Tote Prozesse, die nicht geerntet haben, werden als „ Zombie verarbeitet .“

Die übergeordnete Prozess-ID Sie für 31756 sehen ist Prozess-ID 1, die immer init gehört. Dieser Prozess soll in regelmäßigen Abständen seine Zombie-Prozesse ernten, aber wenn es nicht, werden sie Zombies in der Prozesstabelle bleiben, bis Sie neu starten.

Andere Tipps

Haben Sie prüfen, ob ein Kind-Prozess, der zuerst getötet werden können müssen? Manchmal ist der Stau auf der ganzen Linie ... Versuchen Sie ps -ef --forest

zu sehen, was darunter sein kann (wenn überhaupt) tötet dann den ersten, dann die, die Sie bereits kennen

Wenn kill -9 nicht einen Prozess zu töten, die Ursache ist fast immer ein Fahrer oder Betriebssystem-Fehler.

Der init-Prozess hat den Prozess angenommen, aber es kann nicht ernten. Das heißt: wenn init ruft wait (2), dass Verfahren nicht zurückgegeben wird. Einer der Hauptzwecke von init ist tot verwaiste Kinder zu ernten, so dass das Problem nicht, dass seine Eltern ist gestorben, bevor sie geerntet wurde. Denken Sie: Andernfalls, der die Ergebnisse eines nohup'd Prozess nach dem Abmelden erntet

Kinder des nicht mehr existierenden Prozess zu töten ist unwahrscheinlich, zu helfen, es sei denn, sie irgendwie an den jeweiligen Fehler in Zusammenhang stehen Sie sehen.

Du bist wahrscheinlich nicht in der Lage sein zu töten, wenn die Eltern nicht, es zu lösen.Für was auch immer Grund, warum die Systeme nicht zu sammeln, die zombie-Prozess.

FWIW, ich habe gesehen, dass es durchaus ein bisschen auf die SCO Openserver boxen, die ich verwendet, um zu verwalten.Schwere multi-user-Nutzung und niedrigen system-Ressourcen, aber es schien nicht verletzt zu nichts.Nur ärgerte mich.:)

Der Prozess hängt wahrscheinlich in z.B. ignorieren Signale wie SIGPIPE, überprüfen Sie mit strace -p <pid>, was hier geschieht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top