Man page - wait4(2)

Packages contains this manual

Available languages:

en fr it pl nl ja ru ro de

Manual

WAIT4

名 前
書 式
説 明
返 り 値
エ ラ ー
準 拠
注 意
C ラ イ ブ ラ リ と カ ー ネ ル の 違 い
関 連 項 目
こ の 文 書 に つ い て

名 前

wait3, wait4 - BSD ス タ イ ル で プ ロ セ ス の 状 態 変 化 を 待 つ

書 式

#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/wait.h>

pid_t wait3(int * wstatus , int options ,
struct rusage *
rusage );

pid_t wait4(pid_t pid , int * wstatus , int options ,
struct rusage *
rusage );

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

wait3 ():
Since glibc 2.26:
_DEFAULT_SOURCE ||
(_XOPEN_SOURCE >= 500 &&
! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))
From glibc 2.19 to 2.25:
_DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
Glibc 2.19 and earlier:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
wait4
():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE

説 明

These functions are nonstandard; in new programs, the use of waitpid (2) or waitid (2) is preferable.

シ ス テ ム コ ー ル wait3 () と wait4 () は waitpid (2) と 同 様 の 動 作 を す る 。 そ れ に 加 え 、 子 プ ロ セ ス の リ ソ ー ス 使 用 状 況 の 情 報 を rusage が 指 す 構 造 体 に 入 れ て 返 す 。

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

wait3(wstatus, options, rusage);

は 以 下 と 等 価 で あ る 。

waitpid(-1, wstatus, options);

同 様 に 、 次 の wait4 () の 呼 び 出 し

wait4(pid, wstatus, options, rusage);

は 以 下 と 等 価 で あ る 。

waitpid(pid, wstatus, 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> で 定 義 さ れ て い る )。

C ラ イ ブ ラ リ と カ ー ネ ル の 違 い

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

関 連 項 目

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

こ の 文 書 に つ い て

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