setsid()

Posted suonikeyinsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setsid()相关的知识,希望对你有一定的参考价值。

定义:若当前进程不是进程组长,创建一个新会话;若当前进程已经是进程组长,返回错误;

性质:一个新会话创建后,当前进程的PID即是新会话ID又是进程组ID,即当前进程即是session leader又是group leader,且没有控制终端(若再调用setsid之前该进程又一个控制终端,那么这种联系也会断开)。

一般使用:先调用fork(),然后使其父进程终止,而子进程继续。
(因为子进程继承了父进程的进程组ID,而子进程的pid是新分配的,两者不可能相等,所以这就保证了子进程一定不会是进程组长)

 

 

 

以上是关于setsid()的主要内容,如果未能解决你的问题,请参考以下文章

setsid()

会话 控制终端 setsid

在 posix_spawn() 创建的过程中调用 setsid()

[linux] setsid测试

[Linux内核]ctrl-z/fg/bg/nohup/setsid/()与&/disown/screen

队列和栈