module function Process.#detach

detach(pid) -> Thread[permalink][rdoc]

子プロセス pid の終了を監視するスレッドを生成して返します。生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。指定した子プロセスが存在しなければ即座に nil で終了します。

[PARAM] pid:
子スレッドのプロセス ID を整数で指定します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
pid = fork {
  # child
  sleep 3
}

p pid # => 7762
th = Process.detach(pid)
p th.value
# => #<Process::Status: pid 7762 exit 0>