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 accidentally wait for the child created by qx() or system(). See perlipc for details.
Portability issues: "wait" in perlport.