Current File : //proc/thread-self/root/proc/self/root/opt/alt/ruby18/share/ri/1.8/system/Process/waitpid-c.yaml |
--- !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 } #=> 27429\n wait #=> 27429\n $?.exitstatus #=> 99\n\n pid = fork { sleep 3 } #=> 27440\n Time.now #=> Wed Apr 09 08:57:09 CDT 2003\n waitpid(pid, Process::WNOHANG) #=> nil\n Time.now #=> Wed Apr 09 08:57:09 CDT 2003\n waitpid(pid, 0) #=> 27440\n Time.now #=> 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