Hallo On Fri, Jul 05, 2002 at 06:26:10PM +0200, Michael Koch wrote: > Am Freitag, 5. Juli 2002 18:18 schrieb Ulrich Wiederhold: > > * Sven Bergner <bergner@Fh-Worms.DE> [020705 17:44]: > > > Zombies verbrauchen keine Rechenzeit, aber der Speicher den sie belegen > > > kann nicht freigegeben werden. > > > > Dumme Sache. Wie kommt sowas zustande bzw. was kann ich gegen das > > Auftreten dieser Prozesse tun? > > Heißt das, die o.g. Anwendungen sind nicht sauber programmiert worden? > > (kann ich mir bei xterm nicht vorstellen) > > Nein, das bedeuted dass der Prozess normal beendet wurde, er aber noch > Kind-Prozesse besitzt/besass. Wenn die Kind-Prozesse sich beenden, > verschwindet auch der Zombie. Naja. So ähnlich. Wenn ein Prozeß beendet wird (auf welche Weise auch immer), wird er erstmal zum Zombie. Und das solange, bis der Elternprozeß den Systemaufruf wait() ausführt. Der räumt den Zombie dann weg. Wenn der Elternprozeß das aber nicht macht, bleibt der Zombie am Leben (oder wie immer man das bezeichnet). Sollte der Elternprozeß plötzlich versterben, ohne wait() aufzurufen, wird der Zombie (genauso wie lebendige Kindesprozesse) an init vererbt, daß ihn dann endgültig ins Grab drückt. Wenn man also Zombies loswerden will, einfach den Elternprozeß killen. Daniel
Attachment:
pgpF9ILzC64GL.pgp
Description: PGP signature