Rechercher une page de manuel
setsid
Langue: ja
Version: 1994-08-27 (mandriva - 01/05/08)
Section: 2 (Appels système)
名前
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)Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre