SunshinePHP 2020 CFP Started

EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__constructEvChild ウォッチャーオブジェクトを作る

説明

public EvChild::__construct ( int $pid , bool $trace , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

EvChild ウォッチャーオブジェクトを作ります。

プロセス ID pid (pid is 0 の場合は任意の PID) の状態の変更を受信したときに、コールバックを呼びます (状態が変わるのは、プロセスが停止したり強制終了させられたり、 traceTRUE になったり、さらにプロセスを一時停止したり再開したりしたときです)。 言い換えると、あるプロセスが SIGCHLD を受信したときに、 Ev はすべての変更された子プロセスやゾンビ子プロセスの exit/wait 状態を取得してコールバックを呼びます。

EvChild が終了してから child ウォッチャーをインストールしてもかまいませんが、 イベントループが次のイテレーションを始める前でないといけません。 たとえば、最初のプロセスが fork した後で新しい子プロセスが終了するかもしれません。 そのときは、新しい PID の親にだけ EvChild ウォッチャーをインストールできます。

exit/tracing ステータスや pid にアクセスするには、 ウォッチャーオブジェクトのプロパティ rstatus および rpid を使います。

一つの PID に対する PID ウォッチャーの数は無制限で、すべてが呼び出されます。

EvChild::createStopped() メソッドは、新しく作ったウォッチャーを開始させません。

パラメータ

pid

状態の変更を待つプロセスの PID (0 にすると、すべてのプロセスを対象にします)。

trace

FALSE にすると、プロセスが終了したときにだけウォッチャーをアクティブにします。 TRUE の場合は、プロセスが一時停止したり再開したりしたときにもウォッチャーをアクティブにします。

callback

ウォッチャーのコールバック を参照ください。

data

このウォッチャーに関連づけるカスタムデータ。

priority

ウォッチャーの優先度

返り値

成功した場合に EvChild オブジェクトを返します。

参考

  • EvLoop::child() - Creates EvChild object associated with the current event loop
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top