[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Zombie processes
>
> You wrote:
> I'm running my system for just four days non-stop, and I already have =
> two
> zombie processes, both of them are modprobe. Here's one of them:
> 20887 ? Z 0:00 (modprobe <zombie>)
> Why do they appear? How can I kill them? kill and kill -9 don't seem to
> help.
>
Shlomi answered:
> Well, as far as my experience goes, the only way to get rid of such =
> zombies is to terminate their parent process (preferably in the proper, =
> clean way). Or you can restart the computer.
>
Every Unix process that finish running is returning a status. That's the
value the program passes to the exit() system call, or the value returned
by the routine main().
A process does not get erased from the process table until its parent
receives the process termination status via the wait() system call or its
derivatives (like wait3(), wait4()). Until this wait() system call is
being performed, the process ramins a zombie (or defunct, another name for it).
I have no idea who the father process for the modprobe program is. If it is
some system process, then if it needs to keep running there's nothing you
can do to remove the Zombies. If it is dispensable, then you can terminate
the father process, like Shlomi suggested, and its father process (perhaps
a shell or init) may do a wait() which will clean up the process table.
Good Luck,
Doron
--
Doron Zifrony 1 Oranim Str. Tel: 972-3-5304324
Data General Technology Givat Shmuel 51905 Fax: 972-3-5325917
Israel E-Mail: doron@jaguar.dgt.co.il
Disclaimer: The opinions expressed hereby are my personal opinions.
Follow-Ups:
References: