module function Process.#waitpid
waitpid(pid, flags = 0) -> Integer | nil
waitpid2(pid, flags = 0) -> Array | nil
-
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 waitpid2 は pid と Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされます。
- [PARAM] pid:
- 子プロセスのプロセス ID を整数で指定します。
- [PARAM] flags:
- Process モジュールの定数 Process::WNOHANG(ノンブロッキングモード)と Process::WUNTRACED の論理和を指定します。省略したときの値は 0 です。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。waitpid(2) か wait4(2) の実装されていないマシンでは flags はいつも nil または 0 を指定する必要があります。
- [EXCEPTION] Errno::ECHILD:
- 子プロセスが存在しない場合に発生します。
[SEE_ALSO] waitpid(2)
module Process