Создаёт объект наблюдатель EvChild

# EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__construct — Создаёт объект наблюдатель EvChild

### Описание

public function EvChild::__construct(
int `$pid` ,
bool `$trace` ,
callable `$callback` ,
mixed `$data` = `null` ,
int `$priority` = 0
)

Создаёт объект наблюдатель EvChild.

Вызывает callback-функцию, когда пришло событие изменения статуса процесса с идентификатором `pid` (или любым PID, если `pid` задан как `0`). Статус процесса изменяется, когда процесс завершается, либо когда его убивают, либо, если `trace` равно `true`, когда он остановлен или возобновлён. Другими словами, когда процесс получает сигнал `SIGCHLD`, Ev извлекает статус exit/wait для всех изменённых/зомби дочерних процессов и вызывает callback-функцию.

Правильно устанавливать дочернего наблюдателя после того, как EvChild завершился, но до запуска следующей итерации событийного цикла. К примеру, сначала вызывается `fork`, после чего новый дочерний процесс может выйти, и только после этого в родителе устанавливается наблюдатель EvChild для нового PID.

Вы можете получить доступ к статусам exit/tracing и `pid` используя свойства объекта наблюдателя rstatus и rpid.

Количество PID-наблюдателей для каждого PID не ограничено. Все они будут вызваны.

Метод EvChild::createStopped() не стартует(не активирует) созданного наблюдателя.

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

`pid`
  Ожидает изменения статуса процесса с идентификатором PID (или любого процесса, если PID задан как `0`).
`trace`
  Если `false`, то активация наблюдателя происходит только при завершении процесса. Если `true`, то активация происходит также при остановке/возобновлении процесса.
`callback`
  Смотрите Callback-функции наблюдателей.
`data`
  Произвольные данные, связанные с наблюдателем.
`priority`
  Приоритет наблюдателя

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

- EvLoop::child() - Создаёт объект EvChild, связанный с текущим циклом событий

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