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