Note - restarting the web service (with 'webservice restart') does
clear up the zombie background processes, but that's not particularly
friendly...
Arthur
On Tue, Nov 12, 2019 at 1:35 PM Arthur Smith <arthurpsmith(a)gmail.com> wrote:
I'm running into an issue that child processes don't die when they are
finished - this appears to be caused by lighttpd running as process 1
and not "reaping" orphaned processes. Is this a known issue that
there's a standard workaround for? The specific configuration here is
your standard kubernetes php7.2 server, and the following call to
start a background process from php (which should finish in about a
minute most of the time):
exec("$env_cmds nohup /usr/bin/php run_background.php >> bg.log 2>&1
&");
Note this works fine when I run your docker image the recommended way
on my own machine:
docker run --name toolforge -p 8888:80 -v
"${PWD}:/var/www/html:cached" -d
docker-registry.tools.wmflabs.org/toollabs-php72-web sh -c
"lighty-enable-mod fastcgi-php && lighttpd -D -f
/etc/lighttpd/lighttpd.conf"
Child processes die normally in the local docker container - but
process 1 there is 'sh' and lightttpd is process 7, so something is
different about this startup from the cloud services configuration.
Any help would be appreciated!
Arthur