.\" Updated 2008-07-31, Akihiro MOTOKI, LDP v3.05
.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
.\"
-.TH WAIT 2 2013\-09\-04 Linux "Linux Programmer's Manual"
+.TH WAIT 2 2014\-08\-19 Linux "Linux Programmer's Manual"
.SH 名前
wait, waitpid, waitid \- プロセスの状態変化を待つ
.SH 書式
\fBwaitpid\fP(): 成功すると、状態が変化した子プロセスのプロセスID を返す。 \fBWNOHANG\fP が指定されていて、 \fIpid\fP
で指示された子プロセスが一つ以上存在するが、どの子プロセスでも 状態変化が起こっていなかった場合は、 0 を返す。 エラーの場合 \-1 を返す。
-.\" FIXME: As reported by Vegard Nossum, if infop is NULL, then waitid()
+.\" FIXME As reported by Vegard Nossum, if infop is NULL, then waitid()
.\" returns the PID of the child. Either this is a bug, or it is intended
.\" behavior that needs to be documented. See my Jan 2009 LKML mail
.\" "waitid() return value strangeness when infop is NULL".
\fBwaitid\fP(): 成功すると 0 を返す。 \fBWNOHANG\fP が指定されていて、 \fIpid\fP
-で指示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。 エラーの場合 \-1 を返す。 エラーの場合、これらのシステムコールはいずれも
-\fIerrno\fP に適切な値を設定する。
+で指示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。
+.PP
+エラーの場合 \-1 を返す。 エラーの場合、これらのシステムコールはいずれも \fIerrno\fP に適切な値を設定する。
.SH エラー
.TP
\fBECHILD\fP
カーネルはゾンビプロセスについて最小限の情報 (PID、終了ステータス、 リソース使用状況) を保持する。 ゾンビプロセスは、 wait
によってシステムから削除されない限り、 カーネルのプロセステーブルの 1 エントリを消費する。このプロセステーブルが
一杯になると、新たにプロセスを作ることができなくなる。 親プロセスが終了すると、その親プロセスの「ゾンビ」の 子プロセスは (もしあれば)
-\fBinit\fP(8) の養子となる。 \fBinit\fP(8) は wait を自動的に実行し、ゾンビを削除する。
+\fBinit\fP(1) の養子となる。 \fBinit\fP(1) は wait を自動的に実行し、ゾンビを削除する。
POSIX.1\-2001 では以下のように規定されている。 \fBSIGCHLD\fP の動作が \fBSIG_IGN\fP に設定されたか、 \fBSIGCHLD\fP
に対して \fBSA_NOCLDWAIT\fP フラグが設定された場合 (\fBsigaction\fP(2) 参照)、終了した子プロセスはゾンビにはならず、
\fB__WNOTHREAD\fP (Linux 2.4 以降)
.\" since patch-2.4.0-test8
同じスレッドグループの他のスレッドの子プロセスは待たない。 Linux 2.4 より前ではデフォルトであった。
-.PP
+.SS "C ライブラリとカーネル ABI の違い"
生の \fBwaitid\fP() システムコールは \fIstruct rusage\ *\fP 型の第 5 引数を取る。 この引数が NULL 以外の場合、
この引数が子プロセスのリソース使用状況を返すのに使用される。 これは \fBwait4\fP(2) と同じ方法である。 詳細は \fBgetrusage\fP(2)
を参照。
\fBsigaction\fP(2), \fBsignal\fP(2), \fBwait4\fP(2), \fBpthread_create\fP(3),
\fBcredentials\fP(7), \fBsignal\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.68 の一部である。
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部である。
プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。