Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ waitpid(2) — UnixWare 2.01

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)






       waitpid(2)                                                waitpid(2)


       NAME
             waitpid - wait for child process to change state

       SYNOPSIS
             #include <sys/types.h>
             #include <sys/wait.h>
             pid_t waitpid(pid_t pid, int *stat_loc, int options);

       DESCRIPTION
             waitpid suspends the calling process until one of its children
             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 (pid_t)-1, status is requested for
                   any child process.

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

                   If pid is equal to (pid_t)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 (pid_t)-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 (from a job control
                            stop), shall also be reported to the calling
                            process.




                           Copyright 1994 Novell, Inc.               Page 1













      waitpid(2)                                                waitpid(2)


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

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

         Return Values
            If waitpid returns because the status of a child process is
            available, it returns the process ID of the child process for
            which status is reported.  If waitpid 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, waitpid returns 0.
            Otherwise, waitpid returns -1 and sets errno to identify the
            error.

         Errors
            In the following conditions, waitpid fails and sets errno to:

            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 calling
                           process or can never be in the states specified
                           by options.

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





                          Copyright 1994 Novell, Inc.               Page 2













       waitpid(2)                                                waitpid(2)


       NOTICES
          Considerations for Threads Programming
             While one thread is blocked, siblings might still be
             executing.












































                           Copyright 1994 Novell, Inc.               Page 3








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