HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/qlibs/man/wait.3
.TH qlibs: wait 3
.SH NAME
wait \- check child process status
.SH SYNTAX
.B #include \(dqwait.h\(dq

int \fBwait_nohang\fP(&\fIwstat\fR);
.br
int \fBwait_stop\fP(&\fIwstat\fR);
.br
int \fBwait_stopnohang\fP(&\fIwstat\fR);
.br
int \fBwait_pid\fP(&\fIwstat\fR,\fIpid\fR);

int \fBwait_exitcode\fP(\fIwstat\fR);
.br
int \fBwait_crashed\fP(\fIwstat\fR);
.br
int \fBwait_stopped\fP(\fIwstat\fR);
.br
int \fBwait_stopsig\fP(\fIwstat\fR);

int \fIpid\fR;
.br
int \fIwstat\fR;
.SH DESCRIPTION
.B wait_nohang
looks for zombies (child processes that have exited).
If it sees a zombie,
it eliminates the zombie,
puts the zombie's exit status into
.IR wstat ,
and returns the zombie's process ID.
If there are several zombies,
.B wait_nohang
picks one.
If there are children but no zombies,
.B wait_nohang
returns 
.IR 0 .
If there are no children,
.B wait_nohang
returns 
.IR -1 ,
setting
.B errno
appropriately.

.B wait_stopnohang
is similar to
.BR wait_nohang ,
but it also looks for children that have stopped.

.B wait_stop
is similar to
.BR wait_stopnohang ,
but if there are children it will pause waiting for one of them
to stop or exit.

.B wait_pid
waits for child process
.I pid
to exit.
It eliminates any zombie that shows up in the meantime,
discarding the exit status.

.B wait_stop
and
.B wait_pid
retry upon
.BR error_intr .
.SH "STATUS PARSING"
If the child stopped,
.B wait_stopped
is nonzero;
.B wait_stopsig
is the signal that caused the child to stop.

If the child exited by crashing,
.B wait_stopped
is zero;
.B wait_crashed
is nonzero.

If the child exited normally,
.B wait_stopped
is zero;
.B wait_crashed
is zero;
and
.B wait_exitcode
is the child's exit code.
.SH "SEE ALSO"
pathexec(3), 
wait(2), 
error(3)