wait3(2)


NAME

   wait3, wait4 - wait for process to change state, BSD style

SYNOPSIS

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

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

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

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

   wait3():
       Since glibc 2.19:
           _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
       Glibc 2.19 and earlier:
           _BSD_SOURCE || _XOPEN_SOURCE >= 500
   wait4():
       Since glibc 2.19:
           _DEFAULT_SOURCE
       Glibc 2.19 and earlier:
           _BSD_SOURCE

DESCRIPTION

   These  functions  are  obsolete;  use  waitpid(2)  or  waitid(2) in new
   programs.

   The wait3() and wait4() system calls are  similar  to  waitpid(2),  but
   additionally  return  resource usage information about the child in the
   structure pointed to by rusage.

   Other than the use of the rusage argument, the following wait3() call:

       wait3(wstatus, options, rusage);

   is equivalent to:

       waitpid(-1, wstatus, options);

   Similarly, the following wait4() call:

       wait4(pid, wstatus, options, rusage);

   is equivalent to:

       waitpid(pid, wstatus, options);

   In other words, wait3() waits of any child, while wait4() can  be  used
   to select a specific child, or children, on which to wait.  See wait(2)
   for further details.

   If rusage is not NULL, the struct rusage to which  it  points  will  be
   filled  with  accounting information about the child.  See getrusage(2)
   for details.

RETURN VALUE

   As for waitpid(2).

ERRORS

   As for waitpid(2).

CONFORMING TO

   4.3BSD.

   SUSv1 included a specification of wait3(); SUSv2 included wait3(),  but
   marked it LEGACY; SUSv3 removed it.

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>.)

   C library/kernel differences
   On  Linux,  wait3()  is  a  library  function implemented on top of the
   wait4() system call.

SEE ALSO

   fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)

COLOPHON

   This page is part of release 4.09 of the Linux  man-pages  project.   A
   description  of  the project, information about reporting bugs, and the
   latest    version    of    this    page,    can     be     found     at
   https://www.kernel.org/doc/man-pages/.


More Linux Commands

manpages/glIsTexture.3gl.html
glIsTexture(3gl) - determine if a name corresponds to a text
glIsTexture returns GL_TRUE if texture is currently the name of a texture. If texture is zero, or is a non-zero value that is not currently the name of a textur

manpages/XML::LibXML::Number.3pm.html
XML::LibXML::Number(3pm) - Simple numeric values. (ManPage)
XML::LibXML::Number.3pm - This class holds simple numeric values. It doesnt support -0, +/- Infinity, or NaN, as the XPath spec says it should, but Im not hurti

manpages/xrestop.1.html
xrestop(1) - monitor server resources used by X11 clients...
Xrestop uses the X-Resource extension to provide top-like statistics of each connected X11 clients server-side resource usage. It is intended as a developer too

manpages/glColor4uiv.3gl.html
glColor4uiv(3gl) - set the current color - Linux man page...
The GL stores both a current single-valued color index and a current four-valued RGBA color. glColor sets a new four-valued RGBA color. glColor has two major va

manpages/slk_attron.3ncurses.html
slk_attron(3ncurses) - curses soft label routines (ManPage)
The slk* functions manipulate the set of soft function-key labels that exist on many terminals. For those terminals that do not have soft labels, curses takes o

manpages/wdeleteln.3ncurses.html
wdeleteln(3ncurses) - delete and insert lines in a curses wi
The deleteln and wdeleteln routines delete the line under the cursor in the window; all lines below the current line are moved up one line. The bottom line of t

manpages/pong.6x.html
pong(6x) - Pong Home Video Game Emulator - Linux man page...
The pong program simulates an ancient Pong home video game, as well as various artifacts from displaying it on a color TV set. OPTIONS pong accepts the followin

manpages/aa_getcon.2.html
aa_getcon(2) - get task confinement information (Man Page)
The aa_getcon function gets the current AppArmor confinement context for the current task. The confinement context is usually just the name of the AppArmor prof

manpages/X11::Protocol::Connection::INETFH.3pm.html
X11::Protocol::Connection::INETFH.3pm.......................
This module is used by X11::Protocol to establish a connection and communicate with a server over an internet-type TCP/IP socket connection, using the FileHandl

manpages/gnutls_certificate_set_x509_simple_pkcs12_file.3.html
gnutls_certificate_set_x509_simple_pkcs12_file.3............
gnutls_certificate_set_x509_simple_pkcs12_file.3 - This function sets a certificate/private key pair and/or a CRL in the gnutls_certificate_credentials_t struct

manpages/mount.8.html
mount(8) - mount a filesystem (Admin - Linux man page)......
All files accessible in a Unix system are arranged in one big tree, the file hierarchy, rooted at /. These files can be spread out over several devices. The mou

manpages/ldap_dn2str.3.html
ldap_dn2str(3) - LDAP DN handling routines - Linux man page
These routines allow LDAP entry names (Distinguished Names, or DNs) to be obtained, parsed, converted to a user-friendly form, and tested. A DN has the form des





We can't live, work or learn in freedom unless the software we use is free.