terminate
するのを待ち、
死んだプロセスの pid
を返す。
そのような子プロセスがなければ、-1 を返す。
ステータスは $?
に返る。次のようなコードを実行すると、
require "sys/wait.h"; ... waitpid(-1,&WNOHANG);どんなプロセスに対しても non-blocking wait を実行できる。 non-blocking wait は
waitpid (2)
または wait4 (2)
の
どちらかのシステムコールをサポートしているマシンでのみ実行可能である。
しかし、ある pid
を FLAGS
を 0 にして wait するのは
どこででもインプリメントされている。(perl は、
exit したがまだ perl スクリプトが取り入れ(harvest)していないプロセスの
ステータス値を覚えておくことで、システムコールのエミュレートをする。)