wait.3 (1685B)
1 .TH wait 3 2 .SH NAME 3 wait \- check child process status 4 .SH SYNTAX 5 .B #include <wait.h> 6 7 int \fBwait_nohang\fP(&\fIwstat\fR); 8 .br 9 int \fBwait_stop\fP(&\fIwstat\fR); 10 .br 11 int \fBwait_stopnohang\fP(&\fIwstat\fR); 12 .br 13 int \fBwait_pid\fP(&\fIwstat\fR,\fIpid\fR); 14 15 int \fBwait_exitcode\fP(\fIwstat\fR); 16 .br 17 int \fBwait_crashed\fP(\fIwstat\fR); 18 .br 19 int \fBwait_stopped\fP(\fIwstat\fR); 20 .br 21 int \fBwait_stopsig\fP(\fIwstat\fR); 22 23 int \fIpid\fR; 24 .br 25 int \fIwstat\fR; 26 .SH DESCRIPTION 27 .B wait_nohang 28 looks for zombies (child processes that have exited). 29 If it sees a zombie, 30 it eliminates the zombie, 31 puts the zombie's exit status into 32 .IR wstat , 33 and returns the zombie's process ID. 34 If there are several zombies, 35 .B wait_nohang 36 picks one. 37 If there are children but no zombies, 38 .B wait_nohang 39 returns 0. 40 If there are no children, 41 .B wait_nohang 42 returns -1, 43 setting 44 .B errno 45 appropriately. 46 47 .B wait_stopnohang 48 is similar to 49 .BR wait_nohang , 50 but it also looks for children that have stopped. 51 52 .B wait_stop 53 is similar to 54 .BR wait_stopnohang , 55 but if there are children it will pause waiting for one of them 56 to stop or exit. 57 58 .B wait_pid 59 waits for child process 60 .I pid 61 to exit. 62 It eliminates any zombie that shows up in the meantime, 63 discarding the exit status. 64 65 .B wait_stop 66 and 67 .B wait_pid 68 retry upon 69 .BR error_intr . 70 .SH "STATUS PARSING" 71 If the child stopped, 72 .B wait_stopped 73 is nonzero; 74 .B wait_stopsig 75 is the signal that caused the child to stop. 76 77 If the child exited by crashing, 78 .B wait_stopped 79 is zero; 80 .B wait_crashed 81 is nonzero. 82 83 If the child exited normally, 84 .B wait_stopped 85 is zero; 86 .B wait_crashed 87 is zero; 88 and 89 .B wait_exitcode 90 is the child's exit code. 91 .SH "SEE ALSO" 92 wait(2), 93 error(3)