SETSID(2)

名称
setsid - セッションを作成しプロセスグループ ID を設定する

ライブラリ
libc

書式
<unistd.h> pid_t setsid(void)

解説
setsid() システムコールは新しいセッションを作成します。 呼び出しセッションは新しいセッションのセッションリーダであり、 新しいプロセスグループのプロセスグループリーダで、制御端末はありません。 呼び出しプロセスは、セッションまたは プロセスグループのどちらかにある唯一のプロセスです。

戻り値
正常に完了すると、 setsid() システムコールは、新しいプロセスグループのプロセスグループ ID の値を返します。 これは呼び出しプロセスのプロセス ID と同じです。 エラーが起きると、 setsid() は -1 を返し、エラーを示すためにグローバル変数 errno を設定します。

エラー
setsid() システムコールは次の場合に処理を失敗します:

[EPERM]
    呼び出しプロセスが既にプロセスグループリーダであるか、 または呼び出しプロセス以外のプロセスのプロセスグループ ID が 呼び出しプロセスのプロセス ID と一致します。

関連項目
setpgid(2), tcgetpgrp(3), tcsetpgrp(3)

規格
setsid() システムコールは p1003.1-90 仕様に適合しています。