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, пов'язаний із поточним циклом подій