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) {
// 우리는 부모
pcntl_wait($status) //좀비 자식으로부터 보호
} else {
// 우리는 어린아이입니다
}
위 내용은 PC 컨텐츠를 포함하여 PC PHP pcntl_fork와 pcntl_fork의 사용법을 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.