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