SETSID

Section: Linux Programmer's Manual (2)
Updated: 1994-08-27
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  

エラー

エラーの場合は、-1 が返されて、 errno が設定される。 起こりえるエラーは EPERM のみである。 呼び出したプロセスの PID と等しいプロセス・グループ ID を持つプロセスが 存在する場合に返される。これは、呼び出したプロセスが既に プロセス・リーダーの場合には setsid() は失敗することを意味する。  

準拠

SVr4, POSIX.1-2001.  

注意

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

プロセス・グループ・リーダーとは、そのプロセスのプロセス・グループ ID が その PID に等しいプロセスである。 setsid() を確実に成功させるためには、 fork(2) して exit(2) し、子プロセスで setsid() を行なえば良い。  

関連項目

setpgid(2), setpgrp(2), tcgetsid(3)


 

Index

名前
書式
説明
返り値
エラー
準拠
注意
関連項目

This document was created by man2html, using the manual pages.
Time: 04:32:02 GMT, November 19, 2007