Php/docs/pcntl.example

From Get docs

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     }}?>