wait(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

wait(3c)

wait(3C)                 Standard C Library Functions                 wait(3C)

NAME
       wait - wait for child process to stop or terminate

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

       pid_t wait(int *stat_loc);

DESCRIPTION
       The  wait() function will suspend execution of the calling thread until
       status information for one of its terminated child processes is  avail‐
       able, or until delivery of a signal whose action is either to execute a
       signal-catching  function  or to terminate the process, or an error oc‐
       curs. If more than one thread is suspended in wait(),  waitpid(3C),  or
       waitid(2)  awaiting termination of the same process, exactly one thread
       will return the process status at the time of the target process termi‐
       nation. If status information is available prior to the call to wait(),
       return will be immediate.


       If wait() returns because the status of a child process  is  available,
       it  returns the process ID of the child process. If the calling process
       specified a non-zero value  for  stat_loc,  the  status  of  the  child
       process  is  stored in the location pointed to by stat_loc. That status
       can be evaluated with the macros described on the wait.h(3HEAD)  manual
       page.


       In the following, status is the object pointed to by stat_loc:

           o      If  the child process terminated due to an _exit() call, the
                  low order 8 bits of status will be 0 and the  high  order  8
                  bits  will contain the low order 7 bits of the argument that
                  the child process passed to _exit(); see exit(2).


           o      If the child process terminated due to a  signal,  the  high
                  order  8  bits  of status will be 0 and the low order 7 bits
                  will contain the number of the signal that caused the termi‐
                  nation. In addition, if WCOREFLG is set, a "core image" will
                  have been produced; see signal.h(3HEAD) and wait.h(3HEAD).



       One instance of a SIGCHLD signal is queued for each child process whose
       status has changed. If wait() returns because the  status  of  a  child
       process  is  available,  any pending SIGCHLD signal associated with the
       process ID of that  child  process  is  discarded.  Any  other  pending
       SIGCHLD signals remain pending.


       If  the  calling  process  has  SA_NOCLDWAIT  set or has SIGCHLD set to
       SIG_IGN, and the process has no unwaited children that were transformed
       into zombie processes, it will block until all of its  children  termi‐
       nate, and wait() will fail and set errno to ECHILD.


       If  a parent process terminates without waiting for its child processes
       to terminate, the parent process ID of each child process is set to  1,
       with the initialization process inheriting the child processes; see In‐
       tro(2).

RETURN VALUES
       When  wait()  returns due to a terminated child process, the process ID
       of the child is returned to the calling process. Otherwise, −1  is  re‐
       turned and errno is set to indicate the error.

ERRORS
       The wait() function will fail if:

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


       EINTR     The function was interrupted by a signal.


USAGE
       Since wait() blocks on a stopped child, a calling  process  wanting  to
       see  the  return  results  of  such  a  call  should use waitpid(3C) or
       waitid(2) instead of wait(). The wait() function is  implemented  as  a
       call to waitpid(-1, stat_loc, 0).

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface  StabilityCommitted  _  MT-LevelAsync-Signal-
       Safe _ StandardSee standards(7).


SEE ALSO
       exec(2),  exit(2),  fork(2), Intro(2), pause(2), waitid(2), ptrace(3C),
       signal(3C), waitpid(3C), signal.h(3HEAD), wait.h(3HEAD), attributes(7)

HISTORY
       The wait() function has been included in all Sun and Oracle releases of
       Solaris.

Oracle Solaris 11.4               27 Aug 2025                         wait(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3