![]() |
![]() |
![]() |
![]() |
Suspend execution of the calling process
#include <sys/types.h> #include <sys/wait.h> pid_t wait( int * stat_loc );
libc
The wait() function suspends execution of the calling process until status information from one of its terminated child processes is available, or until the delivery of a signal whose action is either to terminate the process or execute a signal handler. If status information is available prior to the call to wait(), the return is immediate.
If the stat_loc variable is non-NULL, the terminating status of the child process is placed here. The macros listed below, defined in <sys/wait.h>, extract information from stat_loc. The stat_val argument to these macros is the integer value pointed to by stat_loc.
The following macros are POSIX:
This macro isn't POSIX:
One of the macros WIFEXITED(*stat_loc) and WIFSIGNALED(*stat_loc) evaluates to a nonzero value.
The non-POSIX waitid() function gives even more status information than the above macros.
The process ID of the terminating child process, or -1 if an error occurred or on delivery of a signal (errno is set to EINTR).
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
errno, spawn(), wait4(), waitid(), waitpid()
![]() |
![]() |
![]() |
![]() |