基本的な使用法
この例は、シグナルハンドラを有するデーモンプロセスをフォークします。
例1 プロセス制御の例
<?phpdeclare(ticks=1);$pid = pcntl_fork();if ($pid == -1) { die("fork できません");} else if ($pid) { exit(); // 親プロセスの場合} else { // 子プロセスの場合}// 制御側の端末からデタッチif (posix_setsid() == -1) { die("could not detach from terminal");}// シグナルハンドラを設定pcntl_signal(SIGTERM, "sig_handler");pcntl_signal(SIGHUP, "sig_handler");// 無限ループでタスク実行while (1) { // 何か面白いことをここで行う}function sig_handler($signo) { switch ($signo) { case SIGTERM: // 終了タスクを処理 exit; break; case SIGHUP: // 再起動タスクを処理 break; default: // その他の全てのシグナルを処理 }}?>