4.1cBSD/usr/man/man2/wait3.2

.TH WAIT3 2 2/12/83
.SH NAME
wait3 \- wait for process to terminate
.SH SYNOPSIS
.nf
.B "#include <wait.h>"
.B "#include <resourc.he>"
.PP
.B wait3(status, options, rusage)
.B union wait status;
.B int options;
.B struct rusage *rusage;
.PP
.B cc ... \-ljobs
.fi
.SH DESCRIPTION
\fBN.B.: This entry will be merged into wait somehow for 4.2.\fP
.PP
The
.I status
and
.I option
words are described by definitions and macros in the file
<\fIwait.h\fP>; the union and its bitfield definitions and associated
macros given there provide
convenient and mnemonic access to the word of status returned by a
.I wait3
call.
See this file for more information.
.PP
There are two
.I options,
which may be combined by
.IR or ing
them together.
The first is WNOHANG which causes the
.I wait3
to not hang if there are no
processes which wish to report status, rather returning a pid of 0 in this
case as the result of the
.I wait3.
The second option is WUNTRACED which causes
.I wait3
to return information when children of the current process which are
stopped but not traced (with
.IR ptrace (2))
because they received a SIGTTIN, SIGTTOU, SIGTSTP or SIGSTOP signal.
See
.IR sigsys (2J))
for a description of these signals.
.PP
The
.I rusage
pointer is an optional structure where a
.I rusage
structure is returned describing the resources used by the terminated
process and all its children.  This may be given as \*(lq0\*(rq if the
information is not desired.  Currently this information is not available
for stopped processes.
.SH "RETURN VALUE
Returns
\-1 if there are no children not previously waited for, or 0 if the WNOHANG
option is given and there are no stopped or exited children.
.SH "SEE ALSO"
exit(2), fork(2), sigsys(2), wait(2)
.SH BUGS
This call is peculiar.