wait4 - システムコールの説明 - Linux コマンド集 一覧表
名前
wait3, wait4 - BSD スタイルでプロセスの状態変化を待つ
書式
#include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <sys/wait.h> pid_t wait3(int *status, int options, struct rusage *rusage); pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage);
説明
システムコール wait3 ()と wait4 ()は waitpid (2)と同様の動作をする。それに加え、子プロセスのリソース使用状況の情報を rusage が指す構造体に入れて返す。
rusage を使用する点を除けば、以下の 2つは等価である。
wait3(status, options, rusage); waitpid(-1, status, options);
同様に、以下の 2つも等価である。
wait4(pid, status, options, rusage); waitpid(pid, status, options);
言い換えると、 wait3 ()は全ての子プロセスを対象に待つが、 wait4 ()では特定の子プロセス (複数可) を選んで待つことができる。
rusage が NULL でない場合、 rusage が指す rusage 構造体 には子プロセスのアカウント情報が格納される。 詳しくは getrusage (2) を参照のこと。
返り値
waitpid (2)と同様。
エラー
waitpid (2)と同様。
注意
現在では <sys/time.h> をインクルードする必要はないが、インクルードしておくと 移植性を高めることができる (実際には <sys/resource.h> で rusage 構造体が定義されているが、そのフィールドで使用されている struct timeval 型は <sys/time.h> で定義されている)。
これらの関数のプロトタイプは _BSD_SOURCE が定義されている場合のみ利用できる。
準拠
4.3BSD