EvChild::__construct
(PECL ev >= 0.2.0)
EvChild::__construct — EvChild ウォッチャーオブジェクトを作る
説明
int
$pid
,bool
$trace
,callable
$callback
,mixed
$data
= null
,int
$priority
= 0
)
EvChild ウォッチャーオブジェクトを作ります。
プロセス ID pid
(pid
is 0
の場合は任意の PID)
の状態の変更を受信したときに、コールバックを呼びます
(状態が変わるのは、プロセスが停止したり強制終了させられたり、
trace
が true
になったり、さらにプロセスを一時停止したり再開したりしたときです)。
言い換えると、あるプロセスが 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
参考
- EvLoop::child() - Creates EvChild object associated with the current event loop