Ожидает или возвращает статус порождённого дочернего процесса

# pcntl_wait

(PHP 5, PHP 7, PHP 8)

pcntl_wait — Ожидает или возвращает статус порождённого дочернего процесса

### Описание

function pcntl_wait(int `&$status`, int `$flags` = 0, array `&$resource_usage` = []): int

Функция ожидания приостанавливает выполнение текущего процесса до тех пор, пока дочерний процесс не завершится или пока не будет получен сигнал который завершает текущий процесс или вызывает функцию обработки сигнала. Если дочерний процесс уже завершился ко времени вызова (так называемые "зомби" процессы), функция незамедлительно вернёт управление. Обратитесь к вашей системному руководству (man) wait(2) для уточнения специфики работы wait в вашей системе.

> Замечание:

> Эта функция эквивалентна вызову pcntl_waitpid() с аргументом `process_id` равным `-1` и без аргумента `flags`.

### Список параметров

`status`

  pcntl_wait() разместит информацию о статусе по ссылке в аргументе `status`, который может быть передан в следующие функции: pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() и pcntl_wstopsig().

`flags`

  Если системный вызов wait3 (man 2 wait3) доступен в вашей системе (как правило в BSD-подобных системах), вы можете задать необязательный аргумент `flags`. Если этот параметр не задан, будет использован стандартный системный вызов wait. Если системный вызов wait3 не доступен для вашей системы, передача значения аргумента `flags` не будет иметь значения. Значение аргумента `flags` - это битовая маска, которая может принимать значение ноль или более путём логического объединения следующих констант:

  Возможные значения для `flags`
  `WNOHANG` | Незамедлительно вернуть управление, если ни один из дочерних процессов не завершён
  `WUNTRACED` | Вернуть управление для остановленных дочерних процессов, о статусе которых ещё не сообщено

### Возвращаемые значения

Функция pcntl_wait() возвращает ID завершённого дочернего процесса, -1, если возникла ошибка, или ноль, если `WNOHANG` был передан в аргумент `options` (на системах с доступным системным вызовом wait3) и не было доступных дочерних процессов.

### Смотрите также

- pcntl_fork() - Разветвить (fork) текущий запущенный процесс
- pcntl_signal() - Устанавливает обработчик сигнала
- pcntl_wifexited() - Проверяет, соответствует ли код завершения процесса нормальному завершению
- pcntl_wifstopped() - Проверяет, остановлен ли дочерний процесс
- pcntl_wifsignaled() - Проверить, соответствует ли код завершения процесса завершению по сигналу
- pcntl_wexitstatus() - Получить код возврата завершённого дочернего процесса
- pcntl_wtermsig() - Получить сигнал, из-за которого был принудительно завершён дочерний процесс
- pcntl_wstopsig() - Получить сигнал, из-за которого был остановлен дочерний процесс
- pcntl_waitpid() - Ожидает или возвращает статус порождённого дочернего процесса

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open