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::BlankLineo: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[i0o;;[; 0;0[@+I" Process;TcRDoc::NormalModule