--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: "Waits for a child process to exit, returns its process id, and sets <tt>$?</tt> to a <tt>Process::Status</tt> object containing information on that process. Which child it waits on depends on the value of <em>pid</em>:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "> 0:"
    body: Waits for the child whose process ID equals <em>pid</em>.
  - !ruby/struct:SM::Flow::LI 
    label: "0:"
    body: Waits for any child whose process group ID equals that of the calling process.
  - !ruby/struct:SM::Flow::LI 
    label: "-1:"
    body: Waits for any child process (the default if no <em>pid</em> is given).
  - !ruby/struct:SM::Flow::LI 
    label: "< -1:"
    body: Waits for any child whose process group ID equals the absolute value of <em>pid</em>.
  type: :NOTE
- !ruby/struct:SM::Flow::P 
  body: The <em>flags</em> argument may be a logical or of the flag values <tt>Process::WNOHANG</tt> (do not block if no child available) or <tt>Process::WUNTRACED</tt> (return stopped children that haven't been reported). Not all flags are available on all platforms, but a flag value of zero will work on all platforms.
- !ruby/struct:SM::Flow::P 
  body: Calling this method raises a <tt>SystemError</tt> if there are no child processes. Not available on all platforms.
- !ruby/struct:SM::Flow::VERB 
  body: "   include Process\n   fork { exit 99 }                 #=&gt; 27429\n   wait                             #=&gt; 27429\n   $?.exitstatus                    #=&gt; 99\n\n   pid = fork { sleep 3 }           #=&gt; 27440\n   Time.now                         #=&gt; Wed Apr 09 08:57:09 CDT 2003\n   waitpid(pid, Process::WNOHANG)   #=&gt; nil\n   Time.now                         #=&gt; Wed Apr 09 08:57:09 CDT 2003\n   waitpid(pid, 0)                  #=&gt; 27440\n   Time.now                         #=&gt; Wed Apr 09 08:57:12 CDT 2003\n"
full_name: Process::waitpid
is_singleton: true
name: waitpid
params: |
  Process.wait()                     => fixnum
  Process.wait(pid=-1, flags=0)      => fixnum
  Process.waitpid(pid=-1, flags=0)   => fixnum

visibility: public
