Manpages

名 前

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);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

wait3():

_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

wait4():

_BSD_SOURCE

説 明

こ れ ら の 関 数 は 廃 止 予 定 で あ る 。 新 し い プ ロ グ ラ ム で は waitpid(2)waitid(2) を 使 用 す る こ と 。 シ ス テ ム コ ー ル wait3() と wait4() は waitpid(2) と 同 様 の 動 作 を す る 。 そ れ に 加 え 、 子 プ ロ セ ス の リ ソ ー ス 使 用 状 況 の 情 報 を rusage が 指 す 構 造 体 に 入 れ て 返 す 。

rusage を 使 用 す る 点 を 除 け ば 、 次 の wait3() の 呼 び 出 し

wait3(status, options, rusage); は 以 下 と 等 価 で あ る 。

waitpid(−1, status, options); 同 様 に 、 次 の wait4() の 呼 び 出 し

wait4(pid, status, options, rusage); は 以 下 と 等 価 で あ る 。

waitpid(pid, status, options); 言 い 換 え る と 、 wait3() は 全 て の 子 プ ロ セ ス を 対 象 に 待 つ が 、 wait4() で は 特 定 の 子 プ ロ セ ス (複 数 可 ) を 選 ん で 待 つ こ と が で き る 。

rusage が NULL で な い 場 合 、 rusage が 指 す rusage 構 造 体 に は 子 プ ロ セ ス の ア カ ウ ン ト 情 報 が 格 納 さ れ る 。 詳 し く は getrusage(2) を 参 照 の こ と 。

返 り 値

waitpid(2) と 同 様 。

エ ラ ー

waitpid(2) と 同 様 。

準 拠

4.3BSD.

SUSv1 に は wait3() の 規 定 が あ っ た 。 SUSv2 に は wait3() が 含 ま れ て い た が 、 「 過 去 の 名 残 (LEGACY)」 と な っ て い た 。 SUSv3 で は wait3() は 削 除 さ れ た 。

注 意

現 在 で は <sys/time.h> を イ ン ク ル ー ド す る 必 要 は な い が 、 イ ン ク ル ー ド し て お く と 移 植 性 を 高 め る こ と が で き る (実 際 に は <sys/resource.h>rusage 構 造 体 が 定 義 さ れ て い る が 、 そ の フ ィ ー ル ド で 使 用 さ れ て い る struct timeval 型 は <sys/time.h> で 定 義 さ れ て い る )。

Linux で は 、 wait3() は ラ イ ブ ラ リ 関 数 で あ り 、 wait4() シ ス テ ム コ ー ル を 使 っ て 実 装 さ れ て い る 。

関 連 項 目

fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。