Nicht beendbare Prozesse beenden?
![](https://seccdn.libravatar.org/avatar/2835b22d2e5351aee8f98825358ba699.jpg?s=120&d=mm&r=g)
Hi Liste, ich habe hier auf einem Server ein paar seltsame Prozesse laufen: PID TTY STAT TIME COMMAND 225 ? D 0:00 /usr/sbin/cron 16883 ? Z 0:00 \_ (cron <zombie>) 21264 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 21798 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 29444 ? D 0:00 crontab -l Ich hatte ein rpm mit Yast nachinstalliert, SuSEconfig hat sich danach aufgehangen. Deshalb habe ich die shell abgeschossen und danach SuSEconfig von Hand aufgerufen -> gleicher Effekt. Seitdem habe ich die beiden obigen Prozesse, die ich nicht beenden kann. Dann wollte ich meine crontab listen, hat sich aucg aufgehangen. Diesen Prozeß kann ich auch nicht beenden. Ein cron-restart funktioniert auch nicht (wegen dem crontab -l?). Wie kann ich die Prozesse noch beenden? Olli --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
![](https://seccdn.libravatar.org/avatar/fa702660ea15ab87f989f7627d6d3204.jpg?s=120&d=mm&r=g)
On Tue, 4 Apr 2000, Oliver Antwerpen wrote:
Hi Liste, ich habe hier auf einem Server ein paar seltsame Prozesse laufen:
PID TTY STAT TIME COMMAND 225 ? D 0:00 /usr/sbin/cron 16883 ? Z 0:00 \_ (cron <zombie>) 21264 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 21798 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 29444 ? D 0:00 crontab -l
Ich hatte ein rpm mit Yast nachinstalliert, SuSEconfig hat sich danach aufgehangen. Deshalb habe ich die shell abgeschossen und danach SuSEconfig von Hand aufgerufen -> gleicher Effekt. Seitdem habe ich die beiden obigen Prozesse, die ich nicht beenden kann. Dann wollte ich meine crontab listen, hat sich aucg aufgehangen. Diesen Prozeß kann ich auch nicht beenden. Ein cron-restart funktioniert auch nicht (wegen dem crontab -l?). Wie kann ich die Prozesse noch beenden?
Olli Hallo Olli!
erstens: sogenannte "Zombie-Prozesse" (Status "Z" brauchst du nicht zu killen. Sie sind bereits tot und erhalten vom Betriebssystem keine Zeitscheibe mehr zur Abarbeitung. Sie verbrauchen daher auch weder CPU noch Speicher. Sie sind wirklich weg. Aber sie erscheinen noch in der Prozesstabelle, weil dem Scheduler aus welchen Gruenden auch immer nicht sauber mitgeteilt werden konnte, dass dieser Prozess sich beendet hat. Was die anderen Prozesse angeht: Sie haben den Status "D" und koennen ebenfalls nicht gekillt werden, auch nicht mit "kill -9". Der Grund ist, dass solche Prozesse auf den Rueckgabewert eines Systemcalls warten. Solange dieser aus irgendeinem Grunde nicht geliefert wird, bleibt der Prozess haengen. Sie sollten aber beendet werden, wenn der Parentprozess gekillt wird, was in diesem Fall der Prozess "init" (PID 1) sein duerfte. "init" selbst ist zwar immun gegen das Signal "-9", da ihm per Konstruktion keine Zeitscheibe weggenommen werden kann, das Signal "TERM" jedoch kennt er und faengt es ab. Ein "kill -1 1" bzw. "kill -TERM 1" fuehrt daher dazu, dass der Runlevel in den Single User Modus wechselt. Viele Gruesse Oli /********************************************\ * * * Oliver Tennert * * * * +49 -7071 -9457-598 * * * * e-mail: O.Tennert@science-computing.de * * science + computing GmbH * * Hagellocher Weg 71 * * D-72070 Tuebingen * * * \********************************************/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
![](https://seccdn.libravatar.org/avatar/3cbac7dcf1f56f37fafd539ab1534b4b.jpg?s=120&d=mm&r=g)
Hi, On Tue, Apr 04 2000 at 09:59 +0200, Oliver.Tennert wrote: [Zombies]
sind wirklich weg. Aber sie erscheinen noch in der Prozesstabelle, weil dem Scheduler aus welchen Gruenden auch immer nicht sauber mitgeteilt werden konnte, dass dieser Prozess sich beendet hat. Was die anderen
Eigentlich stehen sie noch in der Prozessliste, da der Parentprozess sich noch nicht für den Exitstatus interessiert hat, es aber noch tun könnte. Siehe auch die Zombie man-Page: http://www-cdf.fnal.gov/offline/UNIX_Concepts/concepts.zombies.txt Ciao, Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
![](https://seccdn.libravatar.org/avatar/2835b22d2e5351aee8f98825358ba699.jpg?s=120&d=mm&r=g)
-----Ursprüngliche Nachricht----- Von: Oliver.Tennert [mailto:tennert@science-computing.de] Gesendet: Dienstag, 4. April 2000 09:59 An: Oliver Antwerpen Cc: suse-linux@suse.com Betreff: Re: Nicht beendbare Prozesse beenden?
On Tue, 4 Apr 2000, Oliver Antwerpen wrote:
Hi Liste, ich habe hier auf einem Server ein paar seltsame Prozesse laufen:
PID TTY STAT TIME COMMAND 225 ? D 0:00 /usr/sbin/cron 16883 ? Z 0:00 \_ (cron <zombie>) 21264 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 21798 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 29444 ? D 0:00 crontab -l
[kann Prozesse nicht abschießen]
Olli
Hallo Olli!
Sie sollten aber beendet werden, wenn der Parentprozess gekillt wird, was in diesem Fall der Prozess "init" (PID 1) sein duerfte. "init" selbst ist
Richtig, PPID ist 1...
zwar immun gegen das Signal "-9", da ihm per Konstruktion keine Zeitscheibe weggenommen werden kann, das Signal "TERM" jedoch kennt er und faengt es ab. Ein "kill -1 1" bzw. "kill -TERM 1" fuehrt daher dazu, dass der Runlevel in den Single User Modus wechselt.
Und sonst habe ich keine Möglichkeit? Ich mag nur sehr ungern singleuser gehen, weil da doch ein paar Leute drauf arbeiten... Es muß doch irgendeine Möglichkeit geben, oder? Olli --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
![](https://seccdn.libravatar.org/avatar/fa702660ea15ab87f989f7627d6d3204.jpg?s=120&d=mm&r=g)
PID TTY STAT TIME COMMAND 225 ? D 0:00 /usr/sbin/cron 16883 ? Z 0:00 \_ (cron <zombie>) 21264 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 21798 ? D 0:00 perl /usr/bin/chkstat -set /etc/permissions 29444 ? D 0:00 crontab -l
Richtig, PPID ist 1...
zwar immun gegen das Signal "-9", da ihm per Konstruktion keine Zeitscheibe weggenommen werden kann, das Signal "TERM" jedoch kennt er und faengt es ab. Ein "kill -1 1" bzw. "kill -TERM 1" fuehrt daher dazu, dass der Runlevel in den Single User Modus wechselt.
Und sonst habe ich keine Möglichkeit? Ich mag nur sehr ungern singleuser gehen, weil da doch ein paar Leute drauf arbeiten... Es muß doch irgendeine Möglichkeit geben, oder?
Nein. (sorry fuer diese kurze aber leider richtige Antwort). OK mehr: einen Wait auf einen Systemcall kann man nicht beenden, da dies zu den grundlegenden Funktionen im laufenden Betriebssystem sind. Wenn kein Timeout implementiert ist, kannst du warten, bis du schwarz wirst. Am besten, du laesst das ganze so laufen, bis kein User mehr eingeloggt ist und bootest dann neu. Gruss Oli /********************************************\ * * * Oliver Tennert * * * * +49 -7071 -9457-598 * * * * e-mail: O.Tennert@science-computing.de * * science + computing GmbH * * Hagellocher Weg 71 * * D-72070 Tuebingen * * * \********************************************/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
![](https://seccdn.libravatar.org/avatar/f69149ad47a1861ed2b7d6f5ecee6d16.jpg?s=120&d=mm&r=g)
* Oliver.Tennert schrieb am 04.Apr.2000:
werden konnte, dass dieser Prozess sich beendet hat. Was die anderen Prozesse angeht: Sie haben den Status "D" und koennen ebenfalls nicht gekillt werden, auch nicht mit "kill -9". Der Grund ist, dass solche Prozesse auf den Rueckgabewert eines Systemcalls warten. Solange dieser aus irgendeinem Grunde nicht geliefert wird, bleibt der Prozess haengen. Sie sollten aber beendet werden, wenn der Parentprozess gekillt wird, was
Bist Du Dir da sicher? Warum sollte ein Prozeß, dessen Parent gekillt wird aus einem wait herauskommen?
in diesem Fall der Prozess "init" (PID 1) sein duerfte. "init" selbst ist zwar immun gegen das Signal "-9", da ihm per Konstruktion keine Zeitscheibe weggenommen werden kann, das Signal "TERM" jedoch kennt er und faengt es ab. Ein "kill -1 1" bzw. "kill -TERM 1" fuehrt daher dazu, dass der Runlevel in den Single User Modus wechselt.
kill -1 ist aber nicht gleich kill -TERM sondern gleich kill -SIGHUP. kill -TERM ist gleich kill -15 oder einfach gleich kill ohne Option. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
![](https://seccdn.libravatar.org/avatar/fa702660ea15ab87f989f7627d6d3204.jpg?s=120&d=mm&r=g)
kill -1 ist aber nicht gleich kill -TERM sondern gleich kill -SIGHUP. kill -TERM ist gleich kill -15 oder einfach gleich kill ohne Option.
Bernd
Sorry, ich meinte auch "kill -15". Oli /********************************************\ * * * Oliver Tennert * * * * +49 -7071 -9457-598 * * * * e-mail: O.Tennert@science-computing.de * * science + computing GmbH * * Hagellocher Weg 71 * * D-72070 Tuebingen * * * \********************************************/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
![](https://seccdn.libravatar.org/avatar/2835b22d2e5351aee8f98825358ba699.jpg?s=120&d=mm&r=g)
-----Ursprüngliche Nachricht----- Von: Bernd Brodesser [mailto:B.Brodesser@online-club.de] Gesendet: Dienstag, 4. April 2000 16:43 An: suse-linux@suse.com Betreff: Re: Nicht beendbare Prozesse beenden?
* Oliver.Tennert schrieb am 04.Apr.2000:
Bist Du Dir da sicher? Warum sollte ein Prozeß, dessen Parent gekillt wird aus einem wait herauskommen?
in diesem Fall der Prozess "init" (PID 1) sein duerfte. "init" selbst ist zwar immun gegen das Signal "-9", da ihm per Konstruktion keine Zeitscheibe weggenommen werden kann, das Signal "TERM" jedoch kennt er und faengt es ab. Ein "kill -1 1" bzw. "kill -TERM 1" fuehrt daher dazu, dass der Runlevel in den Single User Modus wechselt.
Hi Jungs, wie dem auch sei. Ein init 1 hat jedenfalls nach ca. 3 Minuten erst gewirkt, dabei ist allerdings die console weggeschmiert (Nur noch wirre Zeichen, kbd tot) und nur noch ein Reset half. Naja, uptime kaputt, aber die Prozesse auch... Olli --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (4)
-
antwerpen@netsquare.org
-
B.Brodesser@online-club.de
-
stefan.troeger@wirtschaft.tu-chemnitz.de
-
tennert@science-computing.de