EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__construct — Створює спостерігач об'єкт evChild

Опис

public EvChild::__construct
int$pid
bool$trace
callable $callback
mixed $data = null
int$priority =
) .

Створює об'єкт спостерігач EvChild

Викликає callback-функцію, коли настала подія зміни статусу процесу з ідентифікатором pid (або будь-яким PID, якщо pidзадан как ). Статус процесу змінюється, коли процес завершується, або коли його вбивають, або якщо trace одно true, коли його зупинено або відновлено. Іншими словами, коли процес отримує сигнал SIGCHLD Ev отримує статус exit/wait для всіх змінених/зомбі дочірніх процесів і викликає callback-функцію.

Правильно встановлювати дочірнього спостерігача після того, як EvChild завершився, але до початку наступної ітерації подієвого циклу. Наприклад, спочатку викликається fork, після чого новий дочірній процес може вийти, і тільки після цього в батьків встановлюється спостерігач EvChildдля новогоPID

Ви можете отримати доступ до статусів exit/tracing та pid використовуючи властивості об'єкта спостерігача rstatus та rpid.

Кількість PID-спостерігачів для кожного PID НЕ обмежено. Усіх їх буде викликано.

МетодEvChild::createStopped() не стартує(не активує) створеного спостерігача.

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

pid

Очікує зміни статусу процесу з ідентифікатором PID (або будь-якого процесу, якщо PID заданий як

trace

Якщо **false**активація спостерігача відбувається тільки при завершенні процесу. Якщо **true**активація відбувається також при зупинці/відновленні процесу.

callback

СмотритеCallback-функції спостерігачів

data

Довільні дані, пов'язані зі спостерігачем.

priority

Пріоритет спостерігача

Дивіться також

  • EvLoop::child() - Створює об'єкт EvChild, пов'язаний із поточним циклом подій