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 중국어 웹사이트를 참고하세요!