On Mon, Sep 22, 2003 at 01:13:10PM -0400, Jesse Guardiani wrote: > Note the 6 zombies. And here's what happens when I try to kill one > of them: > > ------------------------------------------------------------------------------ > [12:[EMAIL PROTECTED]:[/usr/local/vpopmail/domains/wingnet.net]# kill 01919 > 1919: No such process > [12:[EMAIL PROTECTED]:[/usr/local/vpopmail/domains/wingnet.net]# > ------------------------------------------------------------------------------
You can't kill a zombie; it's a process which has already died and gone. The process slot remains, waiting for the parent process to 'reap' it (i.e. notice that it has died, collect the exit status etc) I'd also beware of putting leading zeros on process IDs, because some programs may try to interpret it as an octal number (not that I think FreeBSD does) My server's very similar to yours, except it doesn't have mod_perl or mod_php, and I don't see this problem. FreeBSD-4.6.2, due for an upgrade to 4.9 when it comes out. > And again, killing the apache server effectively kills the zombies. If X is the parent of Y, then killing X makes Y become the child of 'init' (pid 1), and then it will be reaped. > Any ideas? This is very strange... Not really. Either Apache is not reaping its CGI children properly, or when sqwebmail forks (e.g. to run bannerprog or gzip) it's not reaping properly. Bearing in mind that the sqwebmail zombie may have been the child of another sqwebmail process, you could check to see if there are any other persistent sqwebmail processes on the system (i.e. do a 'ps' a few seconds apart, see if there are any sqwebmail processes with the same PID which are not zombies). If so, kill them. But if not, then it looks like an Apache problem. If you don't *need* mod_perl or mod_php on this system, you could try compiling without them (or not loading the modules, if they were compiled as modules) One thought though: are you running --without-authdaemon? If so, sqwebmail will be doing lots more forking for running authentication modules directly. I am using authdaemon, so all that sqwebmail needs to do is talk to it down a socket. Regards, Brian.
