When a process waits for status from its children via either the wait or waitpid function, the status returned may be evaluated with the following macros, defined in <sys/wait.h>. These macros evaluate to integral expressions. The stat argument to these macros is the integer value returned from wait or waitpid.
- WIFEXITED(stat)
- Evaluates to a non-zero value if status was returned for a child process that terminated normally.
- WEXITSTATUS(stat)
- If the value of WIFEXITED (stat) is non-zero, this macro evaluates to the exit code that the child process passed to _exit() (see exit(2) ) or exit(3C) , or the value that the child process returned from main.
- WIFSIGNALED(stat)
- Evaluates to a non-zero value if status was returned for a child process that terminated due to the receipt of a signal.
- WTERMSIG(stat)
- If the value of WIFSIGNALED (stat) is non-zero, this macro evaluates to the number of the signal that caused the termination of the child process.
- WIFSTOPPED(stat)
- Evaluates to a non-zero value if status was returned for a child process that is currently stopped.
- WSTOPSIG(stat)
- If the value of WIFSTOPPED (stat) is non-zero, this macro evaluates to the number of the signal that caused the child process to stop.
- WIFCONTINUED(stat)
- Evaluates to a non-zero value if status was returned for a child process that has continued.
- WCOREDUMP(stat)
- If the value of WIFSIGNALED (stat) is non-zero, this macro evaluates to a non-zero value if a core image of the terminated child was created.