.\" Updated 2003-09-12, Kentaro Shirakata <argrath@ub32.org>
.\" Updated 2005-03-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\"
-.\"WORD: signal handling ¥·¥°¥Ê¥ë½èÍý
-.\"WORD: suspend Ää»ß(suspend)
-.\"WORD: zombie ¥¾¥ó¥Ó(zombie)
-.\"WORD: child process »Ò¥×¥í¥»¥¹
-.\"WORD: process group ¥×¥í¥»¥¹¡¦¥°¥ë¡¼¥×
-.\"WORD: process group ID ¥×¥í¥»¥¹¡¦¥°¥ë¡¼¥×ID
-.\"WORD: stop Ää»ß(stop)
-.\"WORD: effective user ID ¼Â¸ú¥æ¡¼¥¶¡¼ID
-.\"WORD: block ¶Ø»ß(block)
-.\"WORD: catch Êá³Í(catch)
-.\"WORD: account ¥¢¥«¥¦¥ó¥È
+.\"WORD: signal handling シグナル処理
+.\"WORD: suspend 停止(suspend)
+.\"WORD: zombie ゾンビ(zombie)
+.\"WORD: child process å\90ã\83\97ã\83ã\82»ã\82¹
+.\"WORD: process group プロセス・グループ
+.\"WORD: process group ID プロセス・グループID
+.\"WORD: stop 停止(stop)
+.\"WORD: effective user ID å®\9få\8a¹ã\83¦ã\83¼ã\82¶ã\83¼ID
+.\"WORD: block 禁止(block)
+.\"WORD: catch 捕獲(catch)
+.\"WORD: account アカウント
.\"
.TH WAIT4 2 2010-09-20 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-wait3, wait4 \- BSD ¥¹¥¿¥¤¥ë¤Ç¥×¥í¥»¥¹¤Î¾õÂÖÊѲ½¤òÂÔ¤Ä
-.SH ½ñ¼°
+.SH 名前
+wait3, wait4 \- BSD スタイルでプロセスの状態変化を待つ
+.SH 書式
.nf
.B #include <sys/types.h>
.B #include <sys/time.h>
.fi
.sp
.in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
.RB ( feature_test_macros (7)
-»²¾È):
+参照):
.in
.sp
.ad l
_BSD_SOURCE
.RE
.ad
-.SH ÀâÌÀ
-¥·¥¹¥Æ¥à¥³¡¼¥ë
+.SH 説明
+システムコール
.BR wait3 ()
-¤È
+と
.BR wait4 ()
-¤Ï
+は
.BR waitpid (2)
-¤ÈƱÍͤÎÆ°ºî¤ò¤¹¤ë¡£¤½¤ì¤Ë²Ã¤¨¡¢»Ò¥×¥í¥»¥¹¤Î¥ê¥½¡¼¥¹»ÈÍѾõ¶·¤Î¾ðÊó¤ò
+と同様の動作をする。それに加え、子プロセスのリソース使用状況の情報を
.I rusage
-¤¬»Ø¤¹¹½Â¤ÂΤËÆþ¤ì¤ÆÊÖ¤¹¡£
+が指す構造体に入れて返す。
.PP
.I rusage
-¤ò»ÈÍѤ¹¤ëÅÀ¤ò½ü¤±¤Ð¡¢°Ê²¼¤Î 2¤Ä¤ÏÅù²Á¤Ç¤¢¤ë¡£
+を使用する点を除けば、以下の 2つは等価である。
.nf
wait3(status, options, rusage);
waitpid(\-1, status, options);
.fi
-ƱÍͤˡ¢°Ê²¼¤Î 2¤Ä¤âÅù²Á¤Ç¤¢¤ë¡£
+同様に、以下の 2つも等価である。
.nf
wait4(pid, status, options, rusage);
waitpid(pid, status, options);
.fi
-¸À¤¤´¹¤¨¤ë¤È¡¢
+言い換えると、
.BR wait3 ()
-¤ÏÁ´¤Æ¤Î»Ò¥×¥í¥»¥¹¤òÂоݤËÂԤĤ¬¡¢
+は全ての子プロセスを対象に待つが、
.BR wait4 ()
-¤Ç¤ÏÆÃÄê¤Î»Ò¥×¥í¥»¥¹ (Ê£¿ô²Ä) ¤òÁª¤ó¤ÇÂԤĤ³¤È¤¬¤Ç¤¤ë¡£
+では特定の子プロセス (複数可) を選んで待つことができる。
.PP
.I rusage
-¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢
+が NULL でない場合、
.I rusage
-¤¬»Ø¤¹
-.I rusage ¹½Â¤ÂÎ
-¤Ë¤Ï»Ò¥×¥í¥»¥¹¤Î¥¢¥«¥¦¥ó¥È¾ðÊ󤬳ÊǼ¤µ¤ì¤ë¡£
-¾Ü¤·¤¯¤Ï
+が指す
+.I rusage 構造体
+には子プロセスのアカウント情報が格納される。
+詳しくは
.BR getrusage (2)
-¤ò»²¾È¤Î¤³¤È¡£
-.SH ÊÖ¤êÃÍ
+を参照のこと。
+.SH 返り値
.BR waitpid (2)
-¤ÈƱÍÍ¡£
-.SH ¥¨¥é¡¼
+と同様。
+.SH ã\82¨ã\83©ã\83¼
.BR waitpid (2)
-¤ÈƱÍÍ¡£
-.SH ½àµò
+と同様。
+.SH 準拠
4.3BSD.
-.SH Ãí°Õ
-¸½ºß¤Ç¤Ï
+.SH 注意
+現在では
.I <sys/time.h>
-¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ëɬÍפϤʤ¤¤¬¡¢¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤ª¤¯¤È
-°Ü¿¢À¤ò¹â¤á¤ë¤³¤È¤¬¤Ç¤¤ë (¼ÂºÝ¤Ë¤Ï
+をインクルードする必要はないが、インクルードしておくと
+移植性を高めることができる (実際には
.I <sys/resource.h>
-¤Ç
+で
.I rusage
-¹½Â¤ÂΤ¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë
+構造体が定義されているが、そのフィールドで使用されている
.I struct timeval
-·¿¤Ï
+型は
.I <sys/time.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë)¡£
+で定義されている)。
-Linux ¤Ç¤Ï¡¢
+Linux では、
.BR wait3 ()
-¤Ï¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ç¤¢¤ê¡¢
+はライブラリ関数であり、
.BR wait4 ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+システムコールを使って実装されている。
+.SH 関連項目
.BR fork (2),
.BR getrusage (2),
.BR sigaction (2),