wait3() - 子プロセスの状態変更の待機

標準

標準/拡張機能 C/C++ 依存項目
XPG4.2 両方  

形式

#define _XOPEN_SOURCE_EXTENDED 1
#include <sys/wait.h>

pid_t wait3(int *stat_loc, int options, struct rusage *resource_usage);

機能説明

wait3() 関数によって、呼び出しプロセスは指定された子プロセスの 状況情報を取得できます。

次の呼び出しを見てみましょう。
   wait3(stat_loc, options, resource_usage)
上記の呼び出しは、次の呼び出しと同じです。
   waitpid((pid_t)-1, stat_loc, options);

ただし、正常終了時に、wait3() に対する resource_usage 引数が NULL ポインターでない場合には、3 番目の引数が指す rusage 構造体は戻り値によって識別された 子プロセスのために充てんされるということは除きます。

注:

この関数は、従来からの運用上の理由から提供されます。 これは Single UNIX Specification、バージョン 2 のレガシー機能でしたが、 既に廃止され、Single UNIX Specification、バージョン 3 の一部として サポートされていません。移植性の観点からは、waitpid() 関数 が推奨されます。

Single UNIX Specification、バージョン 3 のために 書かれたアプリケーションで、この関数を引き続き使う必要がある場合は、 標準システム・ヘッダーを組み込む前に、フィーチャー・テスト・マクロ _UNIX03_WITHDRAWN を 定義してください。マクロは、Single UNIX Specification、バージョン 3 に移動された すべてのインターフェースおよびシンボルを公開します。

戻り値

waitpid() - 特定の子プロセス終了の待機 を参照してください。

次の条件では、waitpid() に指定されたエラー条件の他に、wait3() が失敗し、errno を 次のいずれかの値に設定することがあります。
エラー・コード
説明
ECHILD
呼び出しプロセスに既存の非待機の子プロセスがないか、あるいは引数 pid によって指定されたプロセスのセットが 引数 options によって指定された状態になれません。

関連情報