Process Control pcntl_wait
(PHP 5, PHP 7, PHP 8)
pcntl_wait — 분기된 자식의 상태를 기다리거나 반환합니다.
설명
pcntl_wait(int &$status
, int $flags
= 0, array &$resource_usage
= []): int
wait 함수는 자식이 종료될 때까지 또는 현재 프로세스를 종료하거나 신호 처리 함수를 호출하는 작업을 수행하는 신호가 전달될 때까지 현재 프로세스의 실행을 일시 중단합니다. 호출 시간(소위 "좀비" 프로세스)까지 자식이 이미 종료된 경우 함수가 즉시 반환됩니다. 자식이 사용하는 모든 시스템 리소스가 해제됩니다. 시스템에서 wait가 작동하는 방식에 대한 자세한 내용은 시스템의 wait(2) 매뉴얼 페이지를 참조하십시오.
메모: 이 함수는 -1 process_id
와 flags
없이 pcntl_waitpid()를 호출하는 것과 같습니다.
매개변수
status
- pcntl_wait()는 다음 함수를 사용하여 평가할 수 있는
status
매개변수에 상태 정보를 저장합니다: pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() 및 pcntl_wstopsig(). flags
- 시스템에서 wait3을 사용할 수 있는 경우(대부분 BSD 스타일 시스템) 선택적
flags
매개변수를 제공할 수 있습니다. 이 매개변수가 제공되지 않으면 시스템 호출에 대해 wait가 사용됩니다. wait3을 사용할 수 없는 경우flags
값을 제공해도 효과가 없습니다. flags의 값은 다음 두 상수 중 0개 이상의 값을OR
연산한 값입니다.flags
에 가능한 값WNOHANG
Return immediately if no child has exited. WUNTRACED
Return for children which are stopped, and whose status has not been reported.
반환 값
pcntl_wait()는 종료된 자식의 프로세스 ID를 반환합니다. 오류 시 -1을 반환하고 WNOHANG가 옵션으로 제공되고(wait3 사용 가능한 시스템에서) 자식이 없으면 0을 반환합니다.
기타
- pcntl_fork() - 현재 실행 중인 프로세스를 분기합니다.
- pcntl_signal() - 신호 처리기를 설치합니다.
- pcntl_wifexited() - 상태 코드가 정상적인 종료를 나타내는지 확인합니다.
- pcntl_wifstopped() - 자식 프로세스가 현재 중지되었는지 확인
- pcntl_wifsignaled() - 상태 코드가 신호로 인한 종료를 나타내는지 확인합니다.
- pcntl_wexitstatus() - 종료된 자식의 반환 코드를 반환합니다.
- pcntl_wtermsig() - 자식을 종료하게 만든 신호를 반환합니다.
- pcntl_wstopsig() - 자식을 멈추게 한 신호를 반환합니다.
- pcntl_waitpid() - 분기된 자식의 상태를 기다리거나 반환합니다.