EvChild::__constructСоздаёт объект наблюдатель EvChild
&reftitle.description;
publicEvChild::__constructintpidbooltracecallablecallbackmixeddata&null;intpriority0
Создаёт объект наблюдатель
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
не стартует(не активирует) созданного наблюдателя.
&reftitle.parameters;
pid
Ожидает изменения статуса процесса с идентификатором PID
(или любого процесса, если PID задан как
0
).
trace
Если &false;, то активация наблюдателя происходит только при
завершении процесса.
Если &true;, то активация происходит также при остановке/возобновлении процесса.
callback
Смотрите Callback-функции наблюдателей.
data
Произвольные данные, связанные с наблюдателем.
priority
Приоритет наблюдателя
&reftitle.seealso;
EvLoop::child