View previous topic :: View next topic |
Author |
Message |
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3541 Location: Berlin
|
Posted: Thu Mar 13, 2008 10:07 am Post subject: Prozesse beenden |
|
|
Hallo
Ich habe in letzten Zeit ab und zu einige Prozesse (Zombies), die ich nicht beenden kann. Als root in der Konsole mit Code: | localhost olaf # ps uafx | grep mplayer
root 14376 0.0 0.0 7168 828 pts/7 S+ 11:05 0:00 \_ grep --colour=auto mplayer
olaf 23793 2.2 0.8 225156 18240 ? D 09:32 2:09 /usr/bin/mplayer -noquiet -nofs -sub-fuzziness 1 -identify -slave -vo xv -ao oss -zoom -nokeepaspect -input conf=/usr/share/smplayer/input.conf -stop-xscreensaver -wid 75497612 -colorkey 0x020202 -monitoraspect 1.6 -subfont-autoscale 1 -subfont-text-scale 5 -subcp ISO-8859-1 -subpos 100 -contrast 0 -brightness 0 -hue 0 -saturation 0 -nocache -osdlevel 0 -idx -vf-add expand=osd=1 -noslices -vf-add screenshot -channels 2 /media/Samsung-3_Dokumentationen/Sphinx.-.Geheimnisse.der.Geschichte.-.Spartacus.-.Gladiator.gegen.Rom.avi
localhost olaf # kill -KILL 23793
localhost olaf # kill -9 23793
localhost olaf # ps uafx | grep mplayer
root 14382 0.0 0.0 7168 828 pts/7 S+ 11:06 0:00 \_ grep --colour=auto mplayer
olaf 23793 2.2 0.8 225156 18240 ? D 09:32 2:09 /usr/bin/mplayer -noquiet -nofs -sub-fuzziness 1 -identify -slave -vo xv -ao oss -zoom -nokeepaspect -input conf=/usr/share/smplayer/input.conf -stop-xscreensaver -wid 75497612 -colorkey 0x020202 -monitoraspect 1.6 -subfont-autoscale 1 -subfont-text-scale 5 -subcp ISO-8859-1 -subpos 100 -contrast 0 -brightness 0 -hue 0 -saturation 0 -nocache -osdlevel 0 -idx -vf-add expand=osd=1 -noslices -vf-add screenshot -channels 2 /media/Samsung-3_Dokumentationen/Sphinx.-.Geheimnisse.der.Geschichte.-.Spartacus.-.Gladiator.gegen.Rom.avi
localhost olaf # | Code: | localhost olaf # killall -KILL 23793
23793: Kein Prozess abgebrochen |
Wie kann ich solche Prozesse beenden?
MfG |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Thu Mar 13, 2008 11:01 am Post subject: Re: Prozesse beenden |
|
|
flammenflitzer wrote: | Code: | localhost olaf # killall -KILL 23793
23793: Kein Prozess abgebrochen |
Wie kann ich solche Prozesse beenden?
MfG |
Was macht
um alle mplayerprozesse zu killen? |
|
Back to top |
|
|
Vortex375 Veteran
Joined: 03 Mar 2005 Posts: 1739 Location: Deutschland
|
Posted: Thu Mar 13, 2008 12:59 pm Post subject: |
|
|
Mich interessiert da mal, warum es überhaupt sein kann, dass sich ein Prozess mit SIGKILL nicht beenden lässt. Selbiges Problem hatte ich nämlich auch schon einmal und musste den PC neustarten.
Wie kann sich ein Prozess denn so aufhängen, dass er sich nicht mehr beenden lässt? Der Kernel sollte so etwas doch gar nicht zulassen... |
|
Back to top |
|
|
furanku l33t
Joined: 08 May 2003 Posts: 905 Location: Hamburg, Germany
|
Posted: Thu Mar 13, 2008 2:33 pm Post subject: |
|
|
Man kann einen Zombie nicht töten, da er schon tot ist. (Ist doch naheliegend )
Zombies sind eine Eigenheit des Unix Prozessmodells. Wenn ein Prozess beendet ist, entfernt ihn Linux nicht sofort aus der Prozesstabelle. Das macht man, damit der Mutterprozess noch einen evtl. Rückgabewert oder dessen Ressourcennutzung erfragen kann. Der Mutterprozess sagt dann dem Betreibssystem mittels wait() Aufruf Bescheid, wenn es den Prozess endgültig entfernen kann. Zwischen dem Ende des Prozesses und dem endgültigen Entfernen durch das Betreibssstems ist der Prozess ein "Zombie".
Tut der Mutterprozess das nicht, bleibt der Zombie eben in der Prozesstabelle erhalten. Das ist allerdings nicht weiter schlimm, da diese Prozesse eben schon tot sind und daher kaum noch Ressourcen verwenden außer den oben genannten. Stribt ein Elternprozess werden seine Kinder automatisch zu Kindern von init(1). Init wartet mittels wait() auf solche adoptierten Prozesse um sie nicht dauerhaft zu Zombies werden zu lassen.
Wenn Du also Probleme mit Zombies hast, kannst Du entweder den Elternprozess töten, das schickt die Zombies dann zu init welcher sie "erlöst", den Elternprozess reparieren (irgendwas ist bei dem schiefgelaufen, sonst hättest Du das Problem erst gar nicht), oder Du lebst eben damit. Außer daß sie lästig in der Ausgabe von ps sind, sind sie ansonsten harmlos.
Unter sehr verkorsten Umständen kann ein Prozess auch als Kind von init noch ein Zombie sein. Den wirst Du dann wirklich nur noch durch reboot los, denn init zu killen kommt einem reboot gleich.
EDIT Ich habe aber jetzt gesehen: Was Du da hast sind keine Zombies sondern "tote" (Dead) Prozesse. Zombies haben ein "Z" als "Prcess Status", nicht ein "D". Das passiert wenn ein Prozess zum Beispiel vom Kernel Zugriff auf eine Hardware Resurce angefordert hat, der Kernel dieser Aufforderung nicht nachkommt, weil er z.B. auf einen Interrupt oder anderes wartet. Wenn dieser Zustand länger anhält ist etwas schief gelaufen (Kernel oder Treiber Bug, Hardware Zugriffsprobleme, ...). Der Prozess bleibt dann in einem "uninterruptabe sleep" und ist somit für kein Signal mehr erreichbar. Tut mir leid, aber so einen Prozess wirst Du erst mit einem Reboot wieder sicher los (oder der Kernel gibt doch irgendwann die beantragte Resource an den Prozess). |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3541 Location: Berlin
|
Posted: Thu Mar 13, 2008 4:18 pm Post subject: |
|
|
Ich habe das Problem erst seit dem Umstieg von kernel 2.6.23-gentoo-r3 auf 2.6.24-gentoo-r3. Da ich zum Kernel 2.6.24 noch einige Fragen habe, mache ich dazu einen anderen thread auf. furanku hat das Problem etwas erhellt. Das Problem ist, das sich der Rechner auch nicht mehr herunterfahren läßt. Auch auf Alt+Druck+ e u i b gibt es keine Reaktion mehr. |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3541 Location: Berlin
|
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
|