wait4 - phpMan

Command: man perldoc info search(apropos)  


WAIT4(2)                   Linux Programmer’s Manual                  WAIT4(2)



NAME
       wait3, wait4 - wait for process termination, BSD style

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


       pid_t wait3(int *status, int options,
             struct rusage *rusage);

       pid_t wait4(pid_t pid, int *status, int options,
             struct rusage *rusage);

DESCRIPTION
       The  wait3  function  suspends  execution  of the current process until a child has
       exited, or until a signal is delivered whose action is  to  terminate  the  current
       process  or  to  call a signal handling function.  If a child has already exited by
       the time of the call (a so-called "zombie" process), the function  returns  immedi-
       ately.  Any system resources used by the child are freed.

       The wait4 function suspends execution of the current process until a child as spec-
       ified by the pid argument has exited, or until a signal is delivered  whose  action
       is  to  terminate  the current process or to call a signal handling function.  If a
       child as requested by pid has already exited by the time of the call  (a  so-called
       "zombie"  process), the function returns immediately.  Any system resources used by
       the child are freed.

       The value of pid can be one of:

       < -1   which means to wait for any child process whose process group ID is equal to
              the absolute value of pid.

       -1     which  means  to  wait  for any child process; this is equivalent to calling
              wait3.

       0      which means to wait for any child process whose process group ID is equal to
              that of the calling process.

       > 0    which  means to wait for the child whose process ID is equal to the value of
              pid.

       The value of options is a bitwise OR of zero or more of the following constants:

       WNOHANG
              which means to return immediately if no child is there to be waited for.

       WUNTRACED
              which means to also return for children which are stopped, and whose  status
              has not been reported.

       If  status  is  not  NULL,  wait3 or wait4 store status information in the location
       pointed to by status.

       This status can be evaluated with the following macros (these macros take the  stat
       buffer (an int) as an argument — not a pointer to the buffer!):

       WIFEXITED(status)
              is non-zero if the child exited normally.

       WEXITSTATUS(status)
              evaluates  to  the  least  significant  eight bits of the return code of the
              child which terminated, which may have been set as the argument to a call to
              exit()  or as the argument for a return statement in the main program.  This
              macro can only be evaluated if WIFEXITED returned non-zero.

       WIFSIGNALED(status)
              returns true if the child process exited because of a signal which  was  not
              caught.

       WTERMSIG(status)
              returns the number of the signal that caused the child process to terminate.
              This macro can only be evaluated if WIFSIGNALED returned non-zero.

       WIFSTOPPED(status)
              returns true if the child process  which  caused  the  return  is  currently
              stopped; this is only possible if the call was done using WUNTRACED.

       WSTOPSIG(status)
              returns the number of the signal which caused the child to stop.  This macro
              can only be evaluated if WIFSTOPPED returned non-zero.

       If rusage is not NULL, the struct rusage as defined in <sys/resource.h>  it  points
       to will be filled with accounting information.  See getrusage(2) for details.

RETURN VALUE
       The  process  ID  of  the  child  which exited, -1 on error (in particular, when no
       unwaited-for child processes of the specified kind exist) or zero  if  WNOHANG  was
       used  and  no  child  was available yet.  In the latter two cases errno will be set
       appropriately.

ERRORS
       ECHILD No unwaited-for child process as specified does exist.

       EINTR  if WNOHANG was not set and an unblocked signal or a SIGCHLD was caught.

       EINVAL Invalid value for options given for wait4.

NOTES
       Including <sys/time.h> is not  required  these  days,  but  increases  portability.
       (Indeed,  <sys/resource.h>  defines the rusage structure with fields of type struct
       timeval defined in <sys/time.h>.)

       The prototype for these functions is  only  available  if  _BSD_SOURCE  is  defined
       (either  explicitly, or implicitly, by not defining _POSIX_SOURCE or compiling with
       the -ansi flag).

CONFORMING TO
       SVr4, POSIX.1

SEE ALSO
       signal(2), getrusage(2), wait(2), signal(7)



Linux                             1997-06-23                          WAIT4(2)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2008-11-24 02:52 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!