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_idflags 없이 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을 반환합니다.


기타