Wie man Zombie-Prozess tötet
Startete ich mein Programm in den Vordergrund (ein daemon-Programm), und dann tötete ich Sie mit kill -9
aber ich bekomme einen zombie übrig und ich m nicht in der Lage, es zu töten mit kill -9
. Wie tötet man einen zombie-Prozess?
Wenn der zombie ist ein Toter Prozess (bereits tote), wie Entferne ich es aus der Ausgabe von ps aux
?
root@OpenWrt:~# anyprogramd &
root@OpenWrt:~# ps aux | grep anyprogram
1163 root 2552 S anyprogramd
1167 root 2552 S anyprogramd
1169 root 2552 S anyprogramd
1170 root 2552 S anyprogramd
10101 root 944 S grep anyprogram
root@OpenWrt:~# pidof anyprogramd
1170 1169 1167 1163
root@OpenWrt:~# kill -9 1170 1169 1167 1163
root@OpenWrt:~# ps aux |grep anyprogram
1163 root 0 Z [cwmpd]
root@OpenWrt:~# kill -9 1163
root@OpenWrt:~# ps aux |grep anyprogram
1163 root 0 Z [cwmpd]
InformationsquelleAutor der Frage MOHAMED | 2013-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein zombie ist ja schon tot, also kann man nicht töten. Zu clean up einen zombie, muss er wartete auf durch seine Eltern, so töten die Eltern sollten die arbeiten zur Beseitigung der zombie. (Nach stirbt der Elternteil, der zombie wird vererbt
init
die auf ihn warten, und deaktivieren Sie den Eintrag in der Prozesstabelle.) Wenn Ihr daemon laichen Kinder, die zu zombies, Sie haben einen Fehler. Ihre daemon beachten sollten, wenn Ihre Kinder sterben undwait
auf Sie, um zu bestimmen, Ihre exit-status.Einem Beispiel, wie Sie möglicherweise senden Sie ein signal an jeden Prozess, der das übergeordnete Element ein zombie (beachten Sie, dass dies ist extrem grob und töten könnten Prozesse, die Sie nicht wollen. Ich weiß nicht empfehlen diese Art von sledge hammer):
InformationsquelleAutor der Antwort William Pursell
Sie bereinigen kann ein zombie-Prozess durch die Tötung der Eltern-Prozess mit dem folgenden Befehl:
InformationsquelleAutor der Antwort krishna murti
Habe ich versucht:
dieser funktioniert 🙂
InformationsquelleAutor der Antwort Mohammad Rafiee
Fand es am http://www.linuxquestions.org/questions/suse-novell-60/howto-kill-defunct-processes-574612/
2) Hier ein guter Tipp von einem anderen user (Thxs Bill Dandreta):
Manchmal
nicht töten einen Prozess. Führen Sie
das 4. Feld ist der übergeordnete Prozess, töten alle von einem zombie den Eltern und der zombie stirbt!
Beispiel
18581
18582
18583
sind zombies -keine Wirkung hat.
entfernt die zombies.
InformationsquelleAutor der Antwort Sergio
Versuchte ich
und es funktioniert für mich.
InformationsquelleAutor der Antwort Jeoffrey