I have a large number of fast cgi scripts on a server and when we deploy new scripts we run a systemctl reload httpd
since some of our scripts may have changed or underlying data may have changed.
What I'm noticing is that the fast cgi scripts that were spawned aren't always killed. It seems random. It appears that new processes are spawned, but the old ones are still hanging around and the process timeout or idle timeout settings for httpd don't cause these processes to be cleaned up.
system restart httpd
does cause these zombie scripts to be killed, but it leads to a smattering of 502 errors on our nginx proxy cache when we run a full restart on the httpd backend.
Am I wrong to assume that reload should be killing all of the active child processes when executed? Should I create some sort of followup process that cleans up the zombies should they occur?
We are on apache 2.4.6 and mod_fcgid. and our scripts are perl cgis.