Mailing List Archive

Support open source code!


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

Re: Apache question



>>>>> "JM" == Jake Morrison <jake_morrison@example.com> writes:

    JM> Jc,
    JM> Under Unix, a "zombie" has a specific meaning. It's a
    JM> child process that has exited, and the system is holding its
    JM> return status around, but there is no parent process 
    JM> left around that cares to read it. They still show up 
    JM> on the ps display, but there is nothing there. So they 
    JM> are the "living dead". 

    JM> In your case, it sounds like the processes are hung, waiting
    JM> for something to happen, or they are just working slowly. 
    JM> Sometimes this happens when all the processes are waiting
    JM> on a single resource, like an overloaded disk or network 
    JM> connection.

I should have read my email before posting, sorry...

But the last question remains: init has just to fetch the zombie's
exit status, what takes it so long?

Viktor


>>>>> "VP" == Viktor Pavlenko <vp@example.com> writes:

>>>>> "JC" == Jean-Christian Imbeault <jean_christian@example.com> writes:

    >>> It's not particularly serious, it just means that the
    >>> processes didn't die right away.

    JC> Could this possibly lead to the creation of a zombie httpd
    JC> that could keep a connection open and busy?

    VP> AFAIK a process becomes zombie at its termination if its
    VP> parent has already exited without waiting for its (child's)
    VP> termination. So zombie is actually a dead process, it can't
    VP> keep any connection since it's dead. It only takes an entry in
    VP> the process table.

    VP> init should inherit a zombie and call wait(). The only thing I
    VP> don't understand is why a zombie can keep existing for a long
    VP> time?.


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links