[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Prozesse nicht killbar?



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


Reply to: