SETSID
Section: Linux Programmer's Manual (2)
Updated: 2008-12-03
Index
JM Home Page
roff page
 
名前
setsid - セッション (session) を作成し、プロセス・グループ ID を設定する
 
書式
#include <unistd.h>
pid_t setsid(void);
 
説明
setsid()
は呼び出したプロセスがプロセス・グループ・リーダー
(process group leader) でなければ、新しいセッションを作成する。
呼び出したプロセスは新しいセッションのリーダー、新しいプロセス・グループの
プロセス・グループ・リーダーとなり、tty の制御を持たない。
呼び出したプロセスのプロセス・グループ 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()
を行なえば良い。
 
関連項目
getsid(2),
setpgid(2),
setpgrp(2),
tcgetsid(3),
credentials(7)
 Index
- 名前
- 
- 書式
- 
- 説明
- 
- 返り値
- 
- エラー
- 
- 準拠
- 
- 注意
- 
- 関連項目
- 
This document was created by
man2html,
using the manual pages.
Time: 03:26:54 GMT, April 25, 2010