Constructs the EvChild watcher object

# EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__construct — Constructs the EvChild watcher object

### Description

public EvChild::__construct(
int `$pid` ,
bool `$trace` ,
callable `$callback` ,
mixed `$data` = `null` ,
int `$priority` = 0
)

Constructs the EvChild watcher object.

Call the callback when a status change for process ID `pid` (or any PID if `pid` is `0`) has been received(a status change happens when the process terminates or is killed, or, when `trace` is `true`, additionally when it is stopped or continued). In other words, when the process receives a `SIGCHLD`, Ev will fetch the outstanding exit/wait status for all changed/zombie children and call the callback.

It is valid to install a child watcher after an EvChild has exited but before the event loop has started its next iteration. For example, first one calls `fork`, then the new child process might exit, and only then an EvChild watcher is installed in the parent for the new PID.

You can access both exit/tracing status and `pid` by using the rstatus and rpid properties of the watcher object.

The number of PID watchers per PID is unlimited. All of them will be called.

The EvChild::createStopped() method doesn't start(activate) the newly created watcher.

### Parameters

`pid`
  Wait for status changes of process PID(or any process if PID is specified as `0` ).
`trace`
  If `false`, only activate the watcher when the process terminates. Otherwise(`true`) additionally activate the watcher when the process is stopped or continued.
`callback`
  See Watcher callbacks.
`data`
  Custom data associated with the watcher.
`priority`
  Watcher priority

### See Also

- EvLoop::child() - Creates EvChild object associated with the current event loop

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open