in reply to Re: mod_perl and lazy zombies
in thread mod_perl and lazy zombies

I wasn't too worried about them - after all the numbers weren't increasing - it was just odd to see them appear on a previous clean machine. I've always felt that in general they are Not A Good Thing to have and a sign that something odd may be happening.
Pete

Replies are listed 'Best First'.
Re: Re: Re: mod_perl and lazy zombies
by mugwumpjism (Hermit) on Jun 07, 2001 at 19:40 UTC

    All Zombie process are are child processes that have exited, but their parent hasn't called wait() yet to see what the child's return code was. They don't consume any resources except a process table entry.

    When the child exits/dies, the parent gets sent SIGCHLD to notify it. If it doesn't call wait() in that signal handler, the child stays a zombie until wait() is called. If you haven't defined a signal handler, the default action will be to leave it as a zombie - after all, how does the OS know that you're not going to want that return code later?

    Library calls like system() do the wait() for you. popen doesn't. That's what close FH is effectively doing on a popen'ed filehandle.