PHP 8.6.0 Beta 1 is available for testing

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, связанный с текущим циклом событий

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /