setsid() - Unix,Linux 系统调用
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于 TP  

setsid() - Unix,Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

setsid - 创建一个会话并设置进程组 ID

语法

#include <unistd.h>

pid_t setsid(void);

描述

setsid() 如果调用进程不是进程组组长,则创建一个新的会话。调用进程是新会话的组长,新进程组的进程组组长,并且没有控制终端。调用进程的进程组 ID 和会话 ID 被设置为调用进程的 PID。调用进程将是此新进程组和此新会话中的唯一进程。

返回值

调用进程的会话 ID。

错误

发生错误时,返回 -1,并设置 errno。唯一可能发生的错误是 EPERM。当任何进程的进程组 ID 等于调用进程的 PID 时,就会返回它。因此,特别是当调用进程已经是进程组组长时,setsid() 就会失败。

注释

通过 fork(2) 创建的子进程继承其父进程的会话 ID。会话 ID 在 execve(2) 中保留。

进程组组长是指进程组 ID 等于其 PID 的进程。为了确保 setsid() 成功,fork() 和 exit(),并让子进程执行 setsid()。

符合标准

SVr4、POSIX.1-2001。

参见



previous next Printer Friendly

广告


  

广告



广告