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) の状態の変更を受信したときに、コールバックを呼びます (状態が変わるのは、プロセスが停止したり強制終了させられたり、 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

ウォッチャーの優先度

参考

  • EvLoop::child