• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 235
  • Last Modified:

PHP forked process not exit completely and become zombie

PHP forked process not exit completely and become zombie

This is a simplified program.

The test.php is a daemon program, always running there.
It forks process to work on some task.
Once finishing work, the forked process exits.
But when the forked process exits, it becomes zombie.

How to make the forked process exit completely without becoming zombie?


while (1) {
  $pid = pcntl_fork();
  if (!$pid) {
    $mypid = getmypid();  
    print "pid=$mypid finish work \n";
} // while


... daemon running ...

$ ps -ef | grep mqp
ubuntu   10084 10073  0 12:21 pts/0    00:00:00 /usr/bin/php ./test.php
ubuntu   10085 10073  0 12:21 pts/0    00:00:00 /usr/bin/php ./test.php
ubuntu   10074 10073  0 12:21 pts/0    00:00:00 [test.php] <defunct>
ubuntu   10075 10073  0 12:21 pts/0    00:00:00 [test.php] <defunct>
1 Solution
I still stand by my recommendation in your previous post to use a web server to do all this work for you instead of trying to rebuild the wheel. This is just one of the issues you might face by trying to use pnctl_fork. The simple answer is to simply tell the system that you don't want the child process to stick around when it exits:

pcntl_signal(SIGCHLD, SIG_IGN);

The child process sticks around by default in case you want the parent process to access any meta-information (e.g. status info) about the child after it exits.
drupal_100Author Commented:
It works. Thanks.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

A proven path to a career in data science

At Springboard, we know how to get you a job in data science. With Springboard’s Data Science Career Track, you’ll master data science  with a curriculum built by industry experts. You’ll work on real projects, and get 1-on-1 mentorship from a data scientist.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now