Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Feb 1997 11:44:18 -0700
From:      Dave Andersen <angio@aros.net>
To:        Gianmarco Giovannelli <gmarco@scotty.masternet.it>
Cc:        questions@freebsd.org
Subject:   Re: * searching a good priest for zombies processes * 
Message-ID:  <199702241844.LAA27761@fluffy.aros.net>
In-Reply-To: Your message of "Tue, 25 Feb 1997 13:28:03 %2B0100." <3.0.1.32.19970225132803.006baf40@scotty.masternet.it> 

next in thread | previous in thread | raw e-mail | index | archive | help
> My system (2.2 GAMMA) fills itself with zombie processes generated by
> passserv (the server for the corollary terminal server) but 2.1.5 RELEASE
> 
> "It is a process  that it is died but not yet relinquished its process
> table slot (because the parent process hasn't executed a wait (2) for it
> yet)."
> 
> Boh ?!?  How I must do to bury them. ??
> Now the only solution to let them disappear is to shutdown, but I couldn't
> continue to shut the machine down :-)
> It is possible that passserv.c (from corollary.com) is buggy !?!? Is there
> anyone that is using it with a cns 16x0 ?

   It's likely.  The translation of what the dictionary said to you is:

   A zombie process is one which has exited (it's completely done - fini -
toast), and has stopped running.  All processes on a UNIX system have a
parent process which controls them; child processes are created by
calling some variant of fork().  When a child process exits, there
are certain pieces of information which the kernel must keep around
because it knows that the parent might want to know about them - 
the exit status of the child, etc.  In order to let the child process
truly disappear, the parent must ask the kernel "Hey, give me that
information that you're holding for me" by using a wait() variant.
Until the parent does this, the child can't completely disappear,
but it's not running anymore - it's a zombie.

   This is almost certainly a bug in the program you're running.
You can, however, clear up the zombies by killing off the parent process.
This will cause init to take over the child processes, and it
will reap them (ask "Hey, give me that info").

   I haven't heard of the software you're using - sorry - but I'd
suggest contacting the author(s) about it.  It's possible that they're
missing some race condition in 2.2 that they used to hit, or something.

    -Dave Andersen





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702241844.LAA27761>