OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man2 / setsid.2
index 40a845a..6058f58 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright Michael Haardt (michael@cantor.informatik.rwth-aachen.de)
 .\"     Sat Aug 27 20:43:50 MET DST 1994
+.\" and Copyright (C) 2014, Michael Kerrisk <mtk.manpages@gmail.com>
 .\"
 .\" %%%LICENSE_START(GPLv2+_DOC_FULL)
 .\" This is free documentation; you can redistribute it and/or
@@ -42,7 +43,7 @@
 .\" Updated & Modified Thu Feb 10 22:45:24 JST 2005
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
 .\"
-.TH SETSID 2 2013\-02\-11 Linux "Linux Programmer's Manual"
+.TH SETSID 2 2014\-12\-31 Linux "Linux Programmer's Manual"
 .SH 名前
 setsid \- セッション (session) を作成し、プロセスグループ ID を設定する
 .SH 書式
@@ -53,13 +54,15 @@ setsid \- セッション (session) を作成し、プロセスグループ ID 
 .br
 .ad b
 .SH 説明
-\fBsetsid\fP()  は呼び出したプロセスがプロセスグループ・リーダー (process group leader)
-でなければ、新しいセッションを作成する。 呼び出したプロセスは新しいセッションのリーダー、新しいプロセスグループの
-プロセスグループ・リーダーとなり、端末の制御を持たない。 呼び出したプロセスのプロセスグループ ID とセッション ID には、 呼び出したプロセスの
-PID が設定される。呼び出したプロセスはこの 新しいプロセスグループ、この新しいセッションの唯一のプロセスとなる。
+\fBsetsid\fP() は、 呼び出したプロセスがプロセスグループリーダー (process group leader) でなければ、
+新しいセッションを作成する。 呼び出したプロセスは、 新しいセッションのリーダーとなる (すなわち、そのセッション ID がプロセス ID
+と同じ値になる)。 また、呼び出したプロセスは、 そのセッションの新しいプロセスグループのプロセスグループリーダーにもなる (すなわち、プロセスグループ
+ID がプロセス ID と同じ値になる)。
+
+呼び出したプロセスは、 新しいプロセスグループと新しいセッションの唯一のプロセスとなる。 新しいセッションは制御端末を持たない。
 .SH 返り値
 成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの場合は、 \fI(pid_t)\ \-1\fP が返され、
-\fIerror\fP にエラーを示す値が設定される。
+\fIerrno\fP にエラーを示す値が設定される。
 .SH エラー
 .TP 
 \fBEPERM\fP
@@ -71,12 +74,15 @@ SVr4, POSIX.1\-2001.
 \fBfork\fP(2)  で作成された子プロセスは、親プロセスのセッション ID を継承する。 \fBexecve\fP(2)  の前後でセッション ID
 は保存される。
 
-プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その PID に等しいプロセスである。 \fBsetsid\fP()
-を確実に成功させるためには、 \fBfork\fP(2)  して \fBexit\fP(2)  し、子プロセスで \fBsetsid\fP()  を行なえば良い。
+プロセスグループリーダーは、 プロセスグループ ID がその PID と同じ値のプロセスである。 プロセスグループリーダーが \fBsetsid\fP()
+を呼び出すことを許可しないと、 そのプロセスグループ内の他のプロセスを元のセッションに残したまま、
+プロセスグループリーダーが自分自身を新しいセッションに入れるということができなくなる。 このようなシナリオは、 セッションとプロセスグループという厳密な
+2 階層モデルを壊すことになる。 \fBsetsid\fP() が成功することを保証するには、 \fBfork\fP(2) と \fB_exit\fP(2) を行い、
+その子プロセスに \fBsetsid\fP() をさせればよい。
 .SH 関連項目
 \fBsetsid\fP(1), \fBgetsid\fP(2), \fBsetpgid\fP(2), \fBsetpgrp\fP(2), \fBtcgetsid\fP(3),
 \fBcredentials\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。