Programming Perl

Programming PerlSearch this book
Previous: 3.2.188 vecChapter 3
Functions
Next: 3.2.190 waitpid
 

3.2.189 wait

wait

This function 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 should be calling 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.


Previous: 3.2.188 vecProgramming PerlNext: 3.2.190 waitpid
3.2.188 vecBook Index3.2.190 waitpid