当前位置:  技术问答>linux和unix

关于setsid的问题

    来源: 互联网  发布时间:2017-01-14

    本文导语:  在网上看到一篇文章,有下面一段程序,看了后有点不解 pid_t pid = fork(); if (pid == 0) {         ...         int result = execl(path, "adb", "fork-server", "server", NULL); } else {         // run a program in a new...

在网上看到一篇文章,有下面一段程序,看了后有点不解
pid_t pid = fork();
if (pid == 0) {
        ...
        int result = execl(path, "adb", "fork-server", "server", NULL);
} else {
        // run a program in a new session
        setsid();//之前parent和child运行在同一个session里,而且parent是session头,
        //所以作为session头的parent如果exit结束执行的话,那么会话session组中的所有进程将都被杀死;
        //所以执行setsid()之后,parent将重新获得一个新的会话session组id,child将仍持有原有的会话session组,
        //这时parent退出之后,将不会影响到child了。
}





parent是session头,那么它也就是进程组中的组长进程,那这样的用法是不是有错误啊

|
是啊,应该是子进程setsid让自己作为一个新的会话首进程,sid==孩子的pid。

|
不对吧,应该是自子进程执行setsid吧

|
通常都是子进程执行setsid(),脱离父进程的进程组,自成一家

    
 
 

您可能感兴趣的文章:

  • (菜鸟飞飞)问个setsid的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt类jobattributes的类成员方法: setsides定义及介绍
  • setsid函数是派什么用的呀?
  • fork+setsid程序的行为和我预期的不一样,为什么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3