U:RDoc::NormalClass[iI"Status:ETI"Process::Status;TI"Object;To:RDoc::Markup::Document:@parts[o;;[ o:RDoc::Markup::Paragraph;[ I"FProcess::Status
encapsulates the information on the ;TI"Dstatus of a running or terminated system process. The built-in ;TI"3variable $?
is either +nil+ or a ;TI")Process::Status
object.;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim;[
I""fork { exit 99 } #=> 26557
;TI""Process.wait #=> 26557
;TI",$?.class #=> Process::Status
;TI""$?.to_i #=> 25344
;TI"$? >> 8 #=> 99
;TI""$?.stopped? #=> false
;TI"!$?.exited? #=> true
;TI"$?.exitstatus #=> 99
;T:@format0o; ;[I"BPosix systems record information on processes using a 16-bit ;TI"Binteger. The lower bits record the process status (stopped, ;TI"Fexited, signaled) and the upper bits possibly contain additional ;TI"Ginformation (for example the program's return code in the case of ;TI"Gexited processes). Pre Ruby 1.8, these bits were exposed directly ;TI";to the Ruby program. Ruby now encapsulates these in a ;TI"EProcess::Status
object. To maximize compatibility, ;TI"Dhowever, these objects retain a bit-oriented interface. In the ;TI"Gdescriptions that follow, when we talk about the integer value of ;TI"2_stat_, we're referring to this 16 bit value.;T:
@fileI"process.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[ [ [ [[I"
class;T[[:public[ [:protected[ [:private[ [I"
instance;T[[;[[I"&;TI"process.c;T[I"==;T@@[I">>;T@@[I"coredump?;T@@[I"exited?;T@@[I"exitstatus;T@@[I"inspect;T@@[I"pid;T@@[I"signaled?;T@@[I"
stopped?;T@@[I"stopsig;T@@[I"
success?;T@@[I"termsig;T@@[I" to_i;T@@[I" to_s;T@@[;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@+I"Process;TcRDoc::NormalModule