WAIT(2)                                                                WAIT(2)


NAME
       wait, wait3 - wait for process to terminate

SYNOPSIS
       #include <sys/wait.h>

       pid = wait(status)
       int pid;
       union wait *status;

       pid = wait(0)
       int pid;

       #include <sys/time.h>
       #include <sys/resource.h>

       pid = wait3(status, options, rusage)
       int pid;
       union wait *status;
       int options;
       struct rusage *rusage;

DESCRIPTION
       Wait  causes  its  caller to delay until a signal is received or one of
       its child processes terminates.  If any child has died since  the  last
       wait,  return is immediate, returning the process id and exit status of
       one of the terminated children.  If there are no  children,  return  is
       immediate with the value -1 returned.

       On  return from a successful wait call, status is nonzero, and the high
       byte of status contains the low byte of the argument to  exit  supplied
       by  the  child process; the low byte of status contains the termination
       status of the process.  A more precise definition of the status word is
       given in <sys/wait.h>.

       Wait3  provides an alternate interface for programs that must not block
       when collecting the status of child processes.  The status parameter is
       defined  as  above.  The options parameter is used to indicate the call
       should not block if there are no processes that wish to  report  status
       (WNOHANG), and/or that children of the current process that are stopped
       due to a SIGTTIN, SIGTTOU, SIGTSTP, or SIGSTOP signal should also  have
       their status reported (WUNTRACED).  If rusage is non-zero, a summary of
       the resources used by the terminated process and all  its  children  is
       returned  (this information is currently not available for stopped pro‐
       cesses).

       When the WNOHANG option is specified and no processes  wish  to  report
       status,  wait3  returns  a pid of 0.  The WNOHANG and WUNTRACED options
       may be combined by or’ing the two values.

NOTES
       See sigvec(2) for a list of termination statuses  (signals);  0  status
       indicates  normal termination.  A special status (0177) is returned for
       a stopped process that has not terminated and  can  be  restarted;  see
       ptrace(2).   If  the  0200 bit of the termination status is set, a core
       image of the process was produced by the system.

       If the parent process terminates without waiting on its  children,  the
       initialization process (process ID = 1) inherits the children.

       Wait  and  wait3  are automatically restarted when a process receives a
       signal while awaiting termination of a child process.

RETURN VALUE
       If wait returns due to a stopped or terminated child process, the  pro‐
       cess  ID of the child is returned to the calling process.  Otherwise, a
       value of -1 is returned and errno is set to indicate the error.

       Wait3 returns -1 if there are no children not previously waited for;  0
       is  returned if WNOHANG is specified and there are no stopped or exited
       children.

ERRORS
       Wait will fail and return immediately if one or more of  the  following
       are true:

       [ECHILD]       The  calling  process has no existing unwaited-for child
                      processes.

       [EFAULT]       The status or  rusage  arguments  point  to  an  illegal
                      address.

SEE ALSO
       exit(2)


4th Berkeley Distribution        June 30, 1985                         WAIT(2)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 976
Valid CSS Valid XHTML 1.0 Strict