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