16.1.5 The third parameter to pcntl_waitpid()This is NOT the latest copy of this book; click here for the latest version.
So far we have only been using two parameters in our calls to pcntl_waitpid(), there is an optional third parameter that gives you more advanced control. For this parameter, you can pass either WNOHANG or WUNTRACED, or even WNOHANG|WUNTRACED to combine the two together.
The first option, WNOHANG, makes the call to pcntl_waitpid() return immediately if no children have terminated as opposed to waiting around. This makes the call much safer in interactive applications where user feedback is crucial. The second option, WUNTRACED, makes the call to pcntl_waitpid() return if a child gets stopped as part of job control. Of the two, use of the first is far more common.
Note that if WNOHANG is used, the return value for pcntl_waitpid() when no child was terminated is 0 as opposed to -1.
Author's Note: The next few chapters cover advanced process control functionality; you needn't understand these chapters in order to have a good grasp of process control, but if you want to count yourself as a guru you should give them a try.
|
Want to see this stuff in print? PHP in a Nutshell takes the core topics covered here, adds in thousands of edits from the editorial team and myself, and combines them to make an unbeatable reference for PHP programmers at all levels.
My latest book has hundreds more tips on how to use PHP, Apache, and MySQL, plus Perl, Python, shell scripts, performance tuning, and more!
|