Joerg Thuemmler wrote:
Henne Vogelsang schrieb am Mon, 31 Dec 2001 11:24:59 +0100: Prozess läßt sich n un töten
On Saturday, December 29, 2001 at 16:12:50, Stefan Onken wrote:
ein "kill -9 4384" kann den Prozess (auch als root abgesetzt) nicht killen. In der Anleitung zu "top" steht etwas von "uninteruptable Process". Wie kann man den denn (ausser Neustart) weg bekommen ?
Gar nicht, wenn sich die Ursache nicht zur Laufzeit beheben läßt. Ein Prozeß geht in den Zustand "uninterrubtible sleep" (D), wenn innerhalb eines Systemsaufrufs (meist bei IO-Funktionen) auf den Abschluß einer Operation gewartet wird und dabei keine saubere Unterbrechung des Prozesses möglich ist. (Nicht zu verwechseln damit, daß ein Prozeß z.B. in einem read()-Aufruf auf neue Eingaben wartet und dabei in den "sleep"-Zustand versetzt wird.) So ein "uninterrubtible sleep" tritt also genaugenommen recht häufig auf, dauert im Normalfall aber nur sehr kurz. Wenn dieser Zustand länger anhält, ist das meist ein Zeichen für irgendein ernsteres Problem. In einigen Fällen ist eine Behebung möglich (z.B. vorrübergehend nicht erreichbarer NFS-Server), aber sonst läßt sich nichts machen.
Status D (uninterruptable sleep) killt man indem man den parent Prozess killt. Wird bei mplayer ja ne shell sein. ps afx.
Nein, man kann zwar den Vaterprozeß killen, aber das beeindruckt dessen Kindprozeß im Status D erstmal nicht. Der hängende Prozeß bekäme dann als Parent wie üblich den init-Prozeß (PID 1) zugewiesen und würde von diesem "weggeräumt", *falls* er sich irgendwann doch noch beendet. Aber auf den Status des festhängenden Prozesses wirkt sich das nicht unmittelbar aus.
das habe ich auch gedacht. Aber der klassische Fall - kaputte (IDE-) CD hängt beim mounten - läßt sich damit definitiv nicht lösen.
Ja, s.o. Hier wird der Prozeß im Status D hängen, bis das Problem behoben ist und die Operation abgeschlossen werden kann oder evtl. ein Timeout zum Abbruch der Operation führt.
Ich habs zweimal mit Stromstecker abziehen - dann kriegt der Kernel offensichtlich sein timeout - gelöst, aber wie flo schon sagte, das mag die Hardware evt. nicht so gerne
Den Stromstecker vom Laufwerk? Nein, das ist wirklich keine gute Methode.
- reboot ist ärgerlich, aber wenn nur die uptime dagegen spricht, doch vorzuziehen... (obwohl das ´ne reine Vermutung ist, denn was tut der Rechner eigentlich genau beim halt mit poweroff???)
Danach ist der Prozeß auf jeden Fall weg, denn beim Ausschalten oder einem Neustart gehen alle Prozesse verloren. Ob die Ursache des Problems (z.B. ein Defekt) behoben ist, ist eine andere Sache. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/