(PECL ev >= 0.2.0)
EvChild::__construct — EvChild ウォッチャーオブジェクトを作る
$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
成功した場合に EvChild オブジェクトを返します。