Новые книги

Легендарная компания «Тройка Диалог» известна даже людям, далеким от финансовых тем. Эта компания участвовала в самых первых размещениях акций (на миллиардные суммы!) на едва зарождавшемся российском финансовом рынке и фактически определяла его развитие. Такой небывалый успех был обусловлен не только статусом первопроходца, но и тем, что управленческая модель компании изначально подразумевала партнерство, командную работу и умение находить компромисс.

О самых ярких эпизодах становления «Тройки Диалог» рассказывают ключевые участники событий: Рубен Варданян, Павел Теплухин, Гор Нахапетян, Жак Дер Мегредичян и многие другие. Практически это новейшая экономическая история России из уст тех, кто ее творил. И этот опыт, без сомнения, будет интересен не только тем, кто вращается в финансовых сферах.

pcntl_waitpid

Учебник РНР
НазадВперёд

pcntl_waitpid

(PHP 4 >= 4.1.0)

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(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() и pcntl_wstopsig().

Значением options является значение нуль или более следующих двух глобальных констант, которые OR друг с другом:

Таблица 2. Возможные значения options
WNOHANGвозвращает немедленно, если ни один потомок не выполнил выход.
WUNTRACEDвозвращает для остановленных потомков, чей статус не сообщён.

См. также pcntl_fork(), pcntl_signal(), pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() и pcntl_wstopsig().


Назад Оглавление Вперёд
pcntl_signal Вверхpcntl_wexitstatus