[suPHP] suPHP Zombies

Sebastian Marsching sebastian at marsching.com
Tue May 6 23:59:28 CEST 2008


Hi,

mod_suphp is using apr_prc_create(...) to fork a subprocess that runs 
the suphp binary. Unfortunately the APR API docs are unclear regarding 
the wait(...) issue.

There is an apr_proc_wait(...) function, however usually, wait() is 
called from within the handler handling the SIGCHLD signal.

I do not think, that a module has to register a handler for SIGCHLD, as 
the Apache process is usually reused and therefore this would change the 
signal handler table globally.

If you have a look at the Apache sources, the only module, that 
registers a handler for SIGCHLD is mod_cgid. I did not investigate the 
details, but I guess that it does not do this for a process doing the 
request handling, but for a process created and used by the module 
itself only.

It might be useful to inspect whether the zombie processes are caused by 
virtually all PHP scripts on the system or by certain scripts only, in 
order to narrow down the origin of this issue.

Regards
Sebastian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3261 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.marsching.com/pipermail/suphp/attachments/20080506/66d2b3ae/attachment.bin 


More information about the suPHP mailing list