--> |
| "< -1" | which means to wait for any child process whose process group ID is equal to the absolute value of pid. |
| -1 | which means to wait for any child process; this is equivalent to calling wait3. |
| 0 | which means to wait for any child process whose process group ID is equal to that of the calling process. |
| "> 0" | which means to wait for the child whose process ID is equal to the value of pid. |
| The value of options is a bitwise OR of zero or more of the following constants: |
| WNOHANG |
| | which means to return immediately if no child is there to be waited for. |
| WUNTRACED |
| | which means to also return for children which are stopped, and whose status has not been reported. |
| If status is not NULL, wait3 or wait4 store status information in the location pointed to by status. |
| This status can be evaluated with the following macros (these macros take the stat buffer (an int) as an argument not a pointer to the buffer!): |
| WIFEXITED(status) |
| | is non-zero if the child exited normally. |
| WEXITSTATUS(status) |
| | evaluates to the least significant eight bits of the return code of the child which terminated, which may have been set as the argument to a call to exit() or as the argument for a return statement in the main program. This macro can only be evaluated if WIFEXITED returned non-zero. |
| WIFSIGNALED(status) |
| | returns true if the child process exited because of a signal which was not caught. |
| WTERMSIG(status) |
| | returns the number of the signal that caused the child process to terminate. This macro can only be evaluated if WIFSIGNALED returned non-zero. |
| WIFSTOPPED(status) |
| | returns true if the child process which caused the return is currently stopped; this is only possible if the call was done using WUNTRACED. |
| WSTOPSIG(status) |
| | returns the number of the signal which caused the child to stop. This macro can only be evaluated if WIFSTOPPED returned non-zero. |
|
If