array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'evchild.construct.php', 1 => 'EvChild::__construct', ), 'up' => array ( 0 => 'class.evchild.php', 1 => 'EvChild', ), 'prev' => array ( 0 => 'class.evchild.php', 1 => 'EvChild', ), 'next' => array ( 0 => 'evchild.createstopped.php', 1 => 'EvChild::createStopped', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/ev/evchild/construct.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL ev >= 0.2.0)
EvChild::__construct — EvChild ウォッチャーオブジェクトを作る
$pid
,$trace
,$callback
,$data
= null
,$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