Man page - setsid(2)

Packages contains this manual

Available languages:

en fr nl ja ru ro de

Manual

SETSID

名 前
書 式
説 明
返 り 値
エ ラ ー
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

setsid - セ ッ シ ョ ン (session) を 作 成 し 、 プ ロ セ ス グ ル ー プ ID を 設 定 す る

書 式

#include <sys/types.h>
#include <unistd.h>

pid_t setsid(void);

説 明

setsid () は 、 呼 び 出 し た プ ロ セ ス が プ ロ セ ス グ ル ー プ リ ー ダ ー (process group leader) で な け れ ば 、 新 し い セ ッ シ ョ ン を 作 成 す る 。 呼 び 出 し た プ ロ セ ス は 、 新 し い セ ッ シ ョ ン の リ ー ダ ー と な る (す な わ ち 、 そ の セ ッ シ ョ ン ID が プ ロ セ ス ID と 同 じ 値 に な る )。 ま た 、 呼 び 出 し た プ ロ セ ス は 、 そ の セ ッ シ ョ ン の 新 し い プ ロ セ ス グ ル ー プ の プ ロ セ ス グ ル ー プ リ ー ダ ー に も な る (す な わ ち 、 プ ロ セ ス グ ル ー プ ID が プ ロ セ ス ID と 同 じ 値 に な る )。

呼 び 出 し た プ ロ セ ス は 、 新 し い プ ロ セ ス グ ル ー プ と 新 し い セ ッ シ ョ ン の 唯 一 の プ ロ セ ス と な る 。

最 初 は 、 新 し い セ ッ シ ョ ン は 制 御 端 末 を 持 た な い 。 セ ッ シ ョ ン が 制 御 端 末 を 獲 得 す る 方 法 に つ い て は credentials (7) を 参 照 。

返 り 値

成 功 す る と 、 呼 び 出 し た プ ロ セ ス の (新 し い ) セ ッ シ ョ ン ID が 返 さ れ る 。 エ ラ ー の 場 合 は 、 (pid_t) -1 が 返 さ れ 、 errno に エ ラ ー を 示 す 値 が 設 定 さ れ る 。

エ ラ ー

EPERM

い ず れ か の プ ロ セ ス の プ ロ セ ス グ ル ー プ ID が 、 呼 び 出 し た プ ロ セ ス の PID と 等 し い 。 こ れ は 、 呼 び 出 し た プ ロ セ ス が 既 に プ ロ セ ス リ ー ダ ー の 場 合 に は setsid () は 失 敗 す る こ と を 意 味 す る 。

準 拠

POSIX.1-2001, POSIX.1-2008, SVr4.

注 意

fork (2) で 作 成 さ れ た 子 プ ロ セ ス は 、 親 プ ロ セ ス の セ ッ シ ョ ン ID を 継 承 す る 。 execve (2) の 前 後 で セ ッ シ ョ ン ID は 保 存 さ れ る 。

A process group leader is a process whose process group ID equals its PID. Disallowing a process group leader from calling setsid () prevents the possibility that a process group leader places itself in a new session while other processes in the process group remain in the original session; such a scenario would break the strict two-level hierarchy of sessions and process groups. In order to be sure that setsid () will succeed, call fork (2) and have the parent _exit (2), while the child (which by definition can’t be a process group leader) calls setsid ().

セ ッ シ ョ ン が 制 御 端 末 を 持 っ て い て 、 そ の 端 末 に 対 し て CLOCAL フ ラ グ が 設 定 さ れ て お ら ず 、 端 末 の ハ ン グ ア ッ プ が 起 き た 場 合 、 セ ッ シ ョ ン リ ー ダ ー に SIGHUP シ グ ナ ル が 送 ら れ る 。

セ ッ シ ョ ン リ ー ダ ー の プ ロ セ ス が 終 了 し た 場 合 に は 、 そ の 制 御 端 末 の フ ォ ア グ ラ ン ド の プ ロ セ ス グ ル ー プ に 所 属 す る 各 プ ロ セ ス に SIGHUP シ グ ナ ル が 送 ら れ る 。

関 連 項 目

setsid (1), getsid (2), setpgid (2), setpgrp (2), tcgetsid (3), credentials (7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。