NAME

sys/wait.h — declarations for waiting

SYNOPSIS

#include <sys/wait.h>

DESCRIPTION

The <sys/wait.h> header shall define the following symbolic constants for use with waitpid():

WCONTINUED
[XSI] [Option Start] Report status of continued child process. [Option End]
WNOHANG
Do not hang if no status is available; return immediately.
WUNTRACED
Report status of stopped child process.

The <sys/wait.h> header shall define the following macros for analysis of process status values:

WCOREDUMP
True if WIFSIGNALED is true and creation of a core image was attempted.
Note:
The use of the word "attempted" here means that the process terminated abnormally with additional actions (see SIG_DFL in XSH 2.4.3 Signal Actions ). A core image might or might not have been produced. Some implementations do not set this bit if a core image was not produced, but this is not a requirement.
WEXITSTATUS
Return exit status.
WIFCONTINUED
[XSI] [Option Start] True if child has been continued. [Option End]
WIFEXITED
True if child exited normally.
WIFSIGNALED
True if child exited due to uncaught signal.
WIFSTOPPED
True if child stopped due to uncaught signal.
WSTOPSIG
Return signal number that caused process to stop.
WTERMSIG
Return signal number that caused process to terminate.

The <sys/wait.h> header shall define the following symbolic constants as possible values for the options argument to waitid():

WEXITED
Wait for processes that have terminated.
WNOWAIT
Keep the process whose status is returned in infop in a waitable state.
WSTOPPED
Status is returned for any child that has stopped upon receipt of a signal.

The [XSI] [Option Start]  WCONTINUED [Option End] and WNOHANG constants, described above for waitpid(), can also be used with waitid().

The type idtype_t shall be defined as an enumeration type whose possible values shall include at least the following: P_ALL P_PGID P_PID

The <sys/wait.h> header shall define the id_t and pid_t types as described in <sys/types.h>.

The <sys/wait.h> header shall define the siginfo_t type and the sigval union as described in <signal.h>.

Inclusion of the <sys/wait.h> header may also make visible all symbols from <signal.h>.

The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.

pid_t  wait(int *);
int    waitid(idtype_t, id_t, siginfo_t *, int);
pid_t  waitpid(pid_t, int *, int);

The following sections are informative.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

<signal.h> , <sys/resource.h> , <sys/types.h>

XSH wait , waitid

CHANGE HISTORY

First released in Issue 3.

Included for alignment with the POSIX.1-1988 standard.

Issue 6

The wait3() function is removed.

Issue 7

The waitid() function and symbolic constants for its options argument are moved to the Base.

The description of the WNOHANG constant is clarified.

The requirement for <sys/wait.h> to define the rusage structure as described in <sys/resource.h> is removed, and <sys/wait.h> is no longer allowed to make visible all symbols from <sys/resource.h>.

POSIX.1-2008, Technical Corrigendum 2, XBD/TC2-2008/0082 [579] and XBD/TC2-2008/0083 [564] are applied.

Issue 8

Austin Group Defect 1141 is applied, adding WCOREDUMP and changing the description of WIFSTOPPED.

Austin Group Defect 1332 is applied, changing the description of WEXITED.

End of informative text.