Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zombie Prozesse killen?!

Empfohlene Antworten

Veröffentlicht

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

  • Autor

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 ...

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

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?

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

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 :(

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... :rolleyes:

Nein, nicht mal damit :D

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

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... :rolleyes:

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

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

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
Ich 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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.