Scratch Geschrieben 8. Dezember 2005 Geschrieben 8. Dezember 2005 Hi, ich hab gerade ein kleines Problemchen ... ich hab 9 Zombie Prozesse und das System (RH AS 3) lässt sich nicht mehr runterfahren ... kill <pid> hilf nicht und weder reboot noch shutdown -h now funktionieren ... What to do? Gruß Scratch Zitieren
alligator Geschrieben 8. Dezember 2005 Geschrieben 8. Dezember 2005 hi, was haben die Zombie-Prozesse mit deinem Shutdown-Problem zu tun? Was sagt init und/oder halt? cya alligator Zitieren
Scratch Geschrieben 8. Dezember 2005 Autor Geschrieben 8. Dezember 2005 Das sind die Prozesse ... 1220 ? Z 0:00 [login <defunct>] 1226 ? Z 0:00 [init <defunct>] 1729 pts/0 Z 0:15 [perl <defunct>] 1730 pts/0 Z 33:05 [emagent <defunct>] 1860 ? Z 0:00 [opmn <defunct>] 11650 ? Z 0:00 [sendmail <defunct>] 11654 ? Z 0:00 [sendmail <defunct>] 14292 ? Z 0:00 [gzip <defunct>] 14385 pts/0 Z 0:00 [shutdown <defunct>] was haben die Zombie-Prozesse mit deinem Shutdown-Problem zu tun? Ich nehme mal an das es wegen den Zombies nicht geht ;-) Es kommt zwar ein schöner Text das jetzt heruntergefahren wird aber danach lande ich wieder in der Konsole ... Zitieren
alligator Geschrieben 8. Dezember 2005 Geschrieben 8. Dezember 2005 Hi, ich bezweifle, dass dies was mit den Zomies zu tun hat - die Zombie sind vllt. ein Folge aus deinem zerschossenen System. Reagiert er auch auf ein init0 oder init 6 oder halt überhaupt nicht? Dann hilft nur in den Keller gehen und aufs Knöpfchen drücken ... cya alligator Zitieren
Scratch Geschrieben 8. Dezember 2005 Autor Geschrieben 8. Dezember 2005 geht nichts ... is gott sei dank ne VM, da kann ich mir den Weg in den Keller sparen ;-) Aber danke mal! Zitieren
Schlaubi Geschrieben 8. Dezember 2005 Geschrieben 8. Dezember 2005 Zombie sind tot und man kann sie nicht mehr killen. Zombie Prozesse sind Kennzeichen für ein unstabiles System oder falsche Programmierung - schaden tuen sie jedoch nicht. Schau doch mal bitte nach, welchen ParentPIDs die Prozesse angehören. Was sagt /var/log/messages? Zitieren
Scratch Geschrieben 14. Dezember 2005 Autor Geschrieben 14. Dezember 2005 @ schlaubi: hat sich erledigt ... hab die vm resetet geht alles wieder ... Zitieren
iscariot Geschrieben 14. Dezember 2005 Geschrieben 14. Dezember 2005 Zombie sind tot und man kann sie nicht mehr killen. Zombie Prozesse sind Kennzeichen für ein unstabiles System/QUOTE] Zombie Prozesse sind definitiv nicht "tot". In einem Zombie kann sehr wohl noch Code existieren, der ausgefuehrt werden muss. Killen lassen sich diese Prozesse nicht und das System wird dadurch auch nicht instabil (ausser der Entwickler des Programms war betrunken und durch den Zombie entsteht ein Memory Leak oder aehnliches). Zombies entstehen, wenn der Elternprozess nicht auf den Kindprozess wartet oder sich vor dem Kindprozess beendet ohne setsid() auszufuehren. Manchmal beenden sich Zombieprozesse von selbst und manchmal hilft eben nur der reboot. Wenn du fit in C/Linux bist, dann soltest du das Programm, dass den Zombie erzeugt, vielleicht mal mit strace naeher beobachten und gegebenenfalls den Sourcecode selbst editieren... mfg iscariot Zitieren
Schlaubi Geschrieben 14. Dezember 2005 Geschrieben 14. Dezember 2005 Zombie Prozesse sind definitiv nicht "tot". In einem Zombie kann sehr wohl noch Code existieren, der ausgefuehrt werden muss. Hmmm...bisher dachte ich immer, dass der Code eines Zombies bereits komplett abgearbeitet wurde und der Prozess zwar noch in der Prozesstabelle hängt, keine Systemrecourcen in diesem Sinne verbraucht werden und Zombie Prozesse somit dem System auch nicht Schaden. Und halt nur noch darauf gewartet wird, dass der Parent den ExitStatus des Childs abfrägt...(er es aber nicht tut, weil es sich bereits beendet hat) Killen lassen sich diese Prozesse nicht da sind wir uns einig (Obwohl böse Zungen - eine Kollegin - behaupten, sie hätten schon mal Zombies unter Solaris mit kill -9 <pid> erfolgreich gekillt) und das System wird dadurch auch nicht instabil (ausser der Entwickler des Programms war betrunken und durch den Zombie entsteht ein Memory Leak oder aehnliches). das habe ich auch nicht behauptet bzw. wollte ich das damit nicht aussagen, sorry wenn ich mich da undeutlich ausgedrückt habe. Zombies entstehen, wenn der Elternprozess nicht auf den Kindprozess wartet oder sich vor dem Kindprozess beendet ohne setsid() auszufuehren. Genau so habe ich das auch verstanden. Manchmal beenden sich Zombieprozesse von selbst und manchmal hilft eben nur der reboot. Von selbst, wie das, einfach nur so? Ich dachte immer, dass sich der Init drum kümmert, dass die Zombie-Prozesse dem Init (PID 1) übergeben werden bzw. er deren Papa wird und wenn das nicht hilft, dann einfach die Kiste durchbooten (wie du ja schon sagtest). Die wirklich wichtige Frage, die ich mir bisher noch nicht beantworten habe können: Was ist denn zu tun, wenn man ein System hat, dass lauter Zombie Prozesse aufweißt? Entweder man fängt an selbst herumzuprogrammieren (was ich ja nicht gerade empfehle -> sehr oft erlebt 'cron defunct'-Prozesse) oder aber man nimmt eine komplett neue Maschine (bisher wusste ich mir da nicht anders zu helfen) Vielleicht hat der ein oder andere noch einen Tipp, weil ich das Thema an sich schon sehr interessant finde. Denn wenn man googelt, dann findet man zwar Bestätigungen, aber leider keine Lösungen für Probleme mit den Zombies Zitieren
Crash2001 Geschrieben 19. Dezember 2005 Geschrieben 19. Dezember 2005 Zombie sind tot und man kann sie nicht mehr killen.[...]Ja wie? nichtmals mit kill -9 [PID] ? :confused: Also damit habe ich bei mir auf der Gentoo-Kiste bisher noch jeden Prozess beendet bekommen und kann mir auch nicht denken, dass das dabei nicht gehen sollte... Zitieren
Schlaubi Geschrieben 19. Dezember 2005 Geschrieben 19. Dezember 2005 Nein, nicht mal damit Ich habe jetzt nochmal kurz recherchiert... ...ERRORS EINVAL An invalid signal was specified. ESRCH The pid or process group does not exist. Note that an existing process might be a zombie, a process which already committed termination, but has not yet been wait()ed for.... Quelle: http://linux.about.com/od/commands/l/blcmdl2_kill.htm What are these zombie processes that show up in ps? I kill them but they don't go away! Zombies are dead processes. You cannot kill the dead. All processes eventually die, and when they do they become zombies. They consume almost no resources, which is to be expected because they are dead! The reason for zombies is so the zombie's parent (process) can retrieve the zombie's exit status and resource usage statistics. The parent signals the operating system that it no longer needs the zombie by using one of the wait() system calls. When a process dies, its child processes all become children of process number 1, which is the init process. Init is ``always'' waiting for children to die, so that they don't remain as zombies. If you have zombie processes it means those zombies have not been waited for by their parent (look at PPID displayed by ps -l). You have three choices: Fix the parent process (make it wait); kill the parent; or live with it. Remember that living with it is not so hard because zombies take up little more than one extra line in the output of ps. Quelle: http://www.linuxsa.org.au/tips/zombies.html Zitieren
Crash2001 Geschrieben 21. Dezember 2005 Geschrieben 21. Dezember 2005 Ach soooo, die meinst du. Klar, die kann man nicht beenden ausser durch nen Neustart. Zitieren
Schlaubi Geschrieben 22. Dezember 2005 Geschrieben 22. Dezember 2005 Ja wie? nichtmals mit kill -9 [PID] ? :confused: Also damit habe ich bei mir auf der Gentoo-Kiste bisher noch jeden Prozess beendet bekommen und kann mir auch nicht denken, dass das dabei nicht gehen sollte... Ach soooo, die meinst du. Klar, die kann man nicht beenden ausser durch nen Neustart. Tschuldige - welche meintest denn du bzw. um welche Art von Prozessen geht es denn hier schon die ganze Zeit? War das jetzt ein "wie-rede-ich-mich-da-noch-heraus"-Versuch? :bimei :e@sy Zitieren
cane Geschrieben 22. Dezember 2005 Geschrieben 22. Dezember 2005 Hab jetzt nicht alles gelesen aber generell wqerden Zombis bei killen des Vaterprozesses an den Init-Prozess vererbt der diese durch periodisches wait() killt oder nicht? mfg cane Zitieren
Crash2001 Geschrieben 22. Dezember 2005 Geschrieben 22. Dezember 2005 Tschuldige - welche meintest denn du bzw. um welche Art von Prozessen geht es denn hier schon die ganze Zeit? War das jetzt ein "wie-rede-ich-mich-da-noch-heraus"-Versuch? :bimei :e@syIch dachte unter Zombie-Prozessen versteht man die, die sich "aufgehängt" haben und sich vom Programm aus nicht mehr beenden lassen. Wenn die PID nicht mehr existiert, ists ja klar, dass man sie nicht mehr beenden kann. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.