File: //usr/share/ri/3.0.0/system/Kernel/fork-i.ri
U:RDoc::AnyMethod[iI" fork:ETI"Kernel#fork;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"FCreates a subprocess. If a block is specified, that block is run ;TI"Gin the subprocess, and the subprocess terminates with a status of ;TI"Azero. Otherwise, the +fork+ call returns twice, once in the ;TI"Dparent, returning the process ID of the child, and once in the ;TI">child, returning _nil_. The child process can exit using ;TI"<Kernel.exit! to avoid running any <code>at_exit</code> ;TI"Ffunctions. The parent process should use Process.wait to collect ;TI"Gthe termination statuses of its children or use Process.detach to ;TI"Dregister disinterest in their status; otherwise, the operating ;TI",system may accumulate zombie processes.;To:RDoc::Markup::BlankLine o;
; [I"NThe thread calling fork is the only thread in the created child process. ;TI"%fork doesn't copy other threads.;T@o;
; [I"EIf fork is not usable, Process.respond_to?(:fork) returns false.;T@o;
; [I"UNote that fork(2) is not available on some platforms like Windows and NetBSD 4. ;TI"8Therefore you should use spawn() instead of fork().;T:
@fileI"process.c;T:0@omit_headings_from_table_of_contents_below0I"_Kernel.fork [{ block }] -> integer or nil
Process.fork [{ block }] -> integer or nil
;T0[ I"();T@#FI"Kernel;TcRDoc::NormalModule00