>php教程 >PHP开发 >PHP pcntl_fork 및 pcntl_fork 사용법

PHP pcntl_fork 및 pcntl_fork 사용법

高洛峰
高洛峰원래의
2016-12-22 16:14:451708검색

pcntl_fork() 함수는 현재 프로세스에 대한 하위 프로세스를 생성합니다. 그리고 상위 프로세스를 먼저 실행하고 하위 프로세스의 PID를 반환합니다. 이 PID는 0보다 커야 합니다. 상위 프로세스의 코드에서 pcntl_fork(&$status)를 사용하여 하위 프로세스가 반환 값을 가질 때까지 상위 프로세스를 일시 중지할 수 있습니다. 참고: 상위 프로세스를 차단하면 하위 프로세스도 차단됩니다. 그러나 상위 프로세스의 종료는 하위 프로세스의 작동에 영향을 미치지 않습니다.
상위 프로세스가 실행을 마친 후 하위 프로세스를 실행합니다. 이때 하위 프로세스는 pcntl_fork()(이 함수 포함)를 실행하는 명령문에서 실행을 시작하지만 이때는 0을 반환합니다. (이것은 자식 프로세스라는 의미입니다.) 자식 프로세스의 코드 블록에 종료 문을 두는 것이 가장 좋습니다. 즉, 자식 프로세스를 실행한 후 즉시 종료됩니다. 그렇지 않으면 (규칙을 파악하지 못한 채) 스크립트의 일부 부분을 다시 실행하기 시작합니다.
간단히 두 가지 사항에 주목하세요.
1. 불필요한 오류를 방지하려면 자식 프로세스에 종료 문을 두는 것이 가장 좋습니다.

$pid = pcntl_fork(); 
//这里最好不要有其他的语句 
if ($pid == -1) { 
die('could not fork'); 
} else if ($pid) { 
// we are the parent 
pcntl_wait($status); //Protect against Zombie children 
} else { 
// we are the child 
}

php pcntl_fork 및 pcntl_fork 사용과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.