June 2002
Beginner
759 pages
80h 42m
English
wait
wait
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 $?. If
you get zombie child processes, you are probably calling either
this function or waitpid. A
common strategy to avoid such zombies is:
$SIG{CHLD} = sub { wait };If you expected a child and didn’t find it, you probably had
a call to system, a close on a
pipe, or backticks between the fork and the wait. These constructs also do a
wait(2) and may have harvested
your child process. Use waitpid
to avoid this problem.