使用pcntl_fork派生子进程后退出父进程 无 ?phpfunction daemon(){ $pid = pcntl_fork(); if ($pid == -1) { exit(1); } elseif ($pid 0) { exit(0); } else { posix_setsid(); umask(0); chdir('/'); fclose(STDOUT); fclose(STDERR); $pid = pcntl_fork();
使用pcntl_fork派生子进程后退出父进程
<?php function daemon() { $pid = pcntl_fork(); if ($pid == -1) { exit(1); } elseif ($pid > 0) { exit(0); } else { posix_setsid(); umask(0); chdir('/'); fclose(STDOUT); fclose(STDERR); $pid = pcntl_fork(); if ($pid == -1) { exit(1); } elseif ($pid > 0) { exit(0); } else { unset($pid); } } } function job() { // your job here } daemon(); while (true) { job(); sleep(1); }