Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ waitpid(2) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

exit(2)

fork(2)

intro(2)

pause(2)

ptrace(2)

signal(2)

sigaction(2)

siginfo(5)

wstat(5)



waitpid(2)                SYSTEM CALLS                 waitpid(2)



NAME
     waitpid - wait for child process to change state

SYNOPSIS
     #include <sys/types.h>
     #include <sys/wait.h>

     pidt waitpid (pidt pid, int *statloc, int options);

DESCRIPTION
     waitpid suspends the calling process until one of its  chil-
     dren  changes  state; if a child process changed state prior
     to the call to waitpid, return is immediate.  pid  specifies
     a set of child processes for which status is requested.

          If pid is equal to (pidt)-1, status is  requested  for
          any child process.

          If pid is greater than (pidt)0, it specifies the  pro-
          cess  ID  of  the  child  process  for  which status is
          requested.

          If pid is equal to (pidt)0 status is requested for any
          child  process  whose process group ID is equal to that
          of the calling process.

          If pid is less than (pidt)-1, status is requested  for
          any  child  process  whose process group ID is equal to
          the absolute value of pid.

     If waitpid returns because the status of a child process  is
     available, then that status may be evaluated with the macros
     defined by wstat(5) . If the calling process had specified a
     non-zero  value of stat_loc, the status of the child process
     will be stored in the location pointed to by stat_loc.

     The  options  argument  is  constructed  from  the   bitwise
     inclusive OR of zero or more of the following flags, defined
     in the header file <sys/wait.h>:

     WCONTINUED     the status of  any  continued  child  process
                    specified  by  pid, whose status has not been
                    reported since it continued,  shall  also  be
                    reported to the calling process.

     WNOHANG        waitpid will not  suspend  execution  of  the
                    calling  process if status is not immediately
                    available for  one  of  the  child  processes
                    specified by pid.

     WNOWAIT        keep the process whose status is returned  in
                    stat_loc in a waitable state. The process may



                                                                1





waitpid(2)                SYSTEM CALLS                 waitpid(2)



                    be waited for again with identical results.

     WUNTRACED      the status of any child  processes  specified
                    by pid that are stopped, and whose status has
                    not yet been  reported  since  they  stopped,
                    shall  also  be  reported to the calling pro-
                    cess.

     waitpid with options equal to WUNTRACED  and  pid  equal  to
     (pid_t)-1 is identical to a call to wait(2).

     waitpid will fail if one or more of the following is true:

     EINTR          waitpid was interrupted due to the receipt of
                    a signal sent by the calling process.

     EINVAL         An invalid value was specified for options.

     ECHILD         The process or process group specified by pid
                    does  not exist or is not a child of the cal-
                    ling process or can never be  in  the  states
                    specified by options.

SEE ALSO
     exec(2), exit(2), fork(2),  intro(2),  pause(2),  ptrace(2),
     signal(2), sigaction(2), siginfo(5), wstat(5)

DIAGNOSTICS
     If waitpid returns because the status of a child process  is
     available,  this  function shall return a value equal to the
     process  ID  of  the  child  process  for  which  status  is
     reported.   If waitpid returns due to the delivery of a sig-
     nal to the calling process, a value of -1 shall be  returned
     and  errno  shall  be  set  to  EINTR.  If this function was
     invoked with WNOHANG set in options, it  has  at  least  one
     child  process  specified  by  pid  for  which status is not
     available, and status  is  not  available  for  any  process
     specified  by  pid,  a value of 0 shall be returned.  Other-
     wise, a value of -1 shall be returned, and  errno  shall  be
     set to indicate the error.















                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026