Behaves like wait(2) on your system: it waits for a child process to terminate and returns the pid of the deceased process, or -1
if there are no child processes. The status is returned in $?
and ${^CHILD_ERROR_NATIVE}
. Note that a return value of -1
could mean that child processes are being automatically reaped, as described in perlipc.
If you use wait in your handler for $SIG{CHLD} it may accidently wait for the child created by qx() or system(). See perlipc for details.