pcntl_waitpid - ожидает или возвращает статус разветвлённого потомка.
Описание
int pcntl_waitpid (int pid, int status, int options)
Функция pcntl_waitpid() задерживает выполнение текущего процесса, пока потомок
pid не выполнит выход или пока не будет получен сигнал, акцией которого является
окончание текущего процесса или вызов обработки сигнала. Если потомок как запрошенный
pid уже выполнил выход в момент вызова (так называемый "zombie"-процесс), функция возвращает
немедленно. Любые системные ресурсы, используемые потомком, освобождаются. См. в вашей системной man-странице waitpid(2) специфические детали о работе waitpid
в вашей системе.
pcntl_waitpid() возвращает process ID вышедшего потомка, -1 при ошибке или нуль, если была
использована WNOHANG и нет доступного потомка.
Значением pid может быть:
Таблица 1. Возможные значения pid
< -1
ожидать любой дочерний процесс, чей process group ID равен абсолютному значению pid.
-1
ожидать любой дочерний процесс; то же поведение, что и у функции wait.
0
ожидать любой дочерний процесс, чей process group ID равен аналогичному ID
вызывающего процесса.
> 0
ожидать любой дочерний процесс, чей process ID равен значению
pid.
pcntl_waitpid() сохранит информацию статуса в параметре
status, который может быть вычислен с использование следующих функций:
pcntl_wifexited()