Php/docs/pcntl.example
Basic usage
This example forks off a daemon process with a signal handler.
Example #1 Process Control Example
<?phpdeclare(ticks=1);$pid = pcntl_fork();if ($pid == -1) { die("could not fork"); } else if ($pid) { exit(); // we are the parent } else { // we are the child}// detach from the controlling terminalif (posix_setsid() == -1) { die("could not detach from terminal");}// setup signal handlerspcntl_signal(SIGTERM, "sig_handler");pcntl_signal(SIGHUP, "sig_handler");// loop forever performing taskswhile (1) { // do something interesting here}function sig_handler($signo) { switch ($signo) { case SIGTERM: // handle shutdown tasks exit; break; case SIGHUP: // handle restart tasks break; default: // handle all other signals }}?>