3
PHP로 작성된 많은 수의 Linux 데몬이 있습니다. 일부 배경 작업을 수행합니다. 가끔은 pcntl_fork
을 통해 작업자 프로세스를 생성하고 제어하는 하나의 "마스터"프로세스가 있습니다.Daemonized PHP : 자식 프로세스가 종료 될 때 마스터 프로세스가 종료됩니다.
private function SpawnWorker($realm, $parallelismKey)
{
$pid = pcntl_fork();
if ($pid)
{
$worker = DaemonInstance::Create($pid, $realm, $parallelismKey);
$worker->Store();
$this->workers[$pid] = $worker;
return $worker;
}
else if ($pid == 0) // we're in child process now
return Daemon::REINCARNATE;
else
xechonl("#red#UNABLE TO SPAWN A WORKER ($realm, $parallelismKey)");
return false;
}
로 돌아온 후 값은 새로운 작업자 프로세스는 새로운 세션 ID를 반환 posix_setsid
를 호출 "환생"여기
이 동작을 방지하고 전체 시스템을보다 강력하게 만들 수 있습니까?