waitpid PID,FLAGS
特定のチャイルドプロセスが終了するのを待ち、消滅したプロセスのpid
を返します。指定したチャイルドプロセスが存在しないときには、-1 を返します。ステータスは$?
に返されます。
waitpidの使い方
use POSIX "wait_h"; ... waitpid(-1,&WNOHANG);
上記のようにすると、ブロックが起こらないようにして、任意のプロセスをwait
します。ブロックなしのwait
は、システムコールwait_pid
か、システムコールwait
をサポートしているマシンでのみ利用可能です。しかしながら、特定のpid
を 0 のFLAGS
でのwait
はどこでも実装されています。(exit
したプロセスのステータス値を覚えておいて、Perl
がシステムコールをエミュレートしますが、Perl
スクリプトには取り入れられていません。)