wait2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil[permalink][rdoc][edit]waitpid2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil-
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが終了した時に子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされます。
- [PARAM]
pid: - Process.#wait の pid と同じです。
- [PARAM]
flags: - Process.#wait の flags と同じです。
- [EXCEPTION]
Errno::ECHILD: - 子プロセスが存在しない場合に発生します。
pid = fork { sleep 1 } p Process.wait2 # => [70024, #<Process::Status: pid 70024 exit 0>][SEE_ALSO] Process.#wait, wait(2), waitpid(2)
- [PARAM]