Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all 

名前
setsid - セッション (session) を作成し、プロセスグループ ID を設定する
書式
#include <unistd.h> pid_t setsid(void);
説明
setsid() は呼び出したプロセスがプロセスグループ・リーダー (process group leader) でなければ、新しいセッ ションを作成する。 呼び出したプロセスは新しいセッションのリーダー、新しいプロセスグループの プロセスグ ループ・リーダーとなり、端末の制御を持たない。 呼び出したプロセスのプロセスグループ ID とセッション ID に は、 呼び出したプロセスの PID が設定される。呼び出したプロセスはこの 新しいプロセスグループ、この新しい セッションの唯一のプロセスとなる。
返り値
成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの場合は、 (pid_t) -1 が返さ れ、 error にエラーを示す値が設定される。
エラー
EPERM いずれかのプロセスのプロセスグループ ID が、 呼び出したプロセスの PID と等しい。 これは、呼び出し たプロセスが既にプロセスリーダーの場合には setsid() は失敗することを意味する。
準拠
SVr4, POSIX.1-2001.
注意
fork(2) で作成された子プロセスは、親プロセスのセッション ID を継承する。 execve(2) の前後でセッション ID は保存される。 プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その PID に等しいプロセスである。 setsid() を確実に成功させるためには、 fork(2) して exit(2) し、子プロセスで setsid() を行なえば良い。
関連項目
setsid(1), getsid(2), setpgid(2), setpgrp(2), tcgetsid(3), credentials(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告 に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。