Child::Link::Proc(3) Proc object used by Child.

METHODS

$bool = $proc->is_complete()
Check if the child is finished (non-blocking)
$proc->wait()
Wait until child terminates, destroy remaining zombie process (blocking)
$proc->kill($SIG)
Send the $SIG signal to the child process.

NOTE: kill() is unpredictable on windows, strawberry perl sends the kill signal to the parent as well as the child.

$proc->pid()
Returns the process PID.
$proc->exit_status()
Will be undef unless the process has exited, otherwise it will have the exit status.

Note: When you call exit($N) the actual unix exit status will be bit shifted with extra information added. exit_status() will shift the value back for you. That means exit_status() will return 2 when your child calls exit(2) see unix_exit() if you want the actual value wait() assigned to $?.

$proc->unix_exit()
When you call exit($N) the actual unix exit status will be bit shifted with extra information added. See exit_status() if you want the actual value used in exit() in the child.

HISTORY

Most of this was part of Parrallel::Runner intended for use in the Fennec project. Fennec is being broken into multiple parts, this is one such part.

FENNEC PROJECT

This module is part of the Fennec project. See Fennec for more details. Fennec is a project to develop an extendable and powerful testing framework. Together the tools that make up the Fennec framework provide a potent testing environment.

The tools provided by Fennec are also useful on their own. Sometimes a tool created for Fennec is useful outside the greater framework. Such tools are turned into their own projects. This is one such project.

Fennec - The core framework
The primary Fennec project that ties them all together.

AUTHORS

Chad Granum [email protected]

COPYRIGHT

Copyright (C) 2010 Chad Granum

Child is free software; Standard perl licence.

Child is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.