开发者社区> 问答> 正文

孤儿进程调用setsid之后,还是孤儿进程么?

孤儿进程调用setsid之后,还是孤儿进程么?
首先可以确认,在linux系统中,调用setsid的进程没有控制终端,但是可以调用read(stdin_fileno)
不会返回 -1.
而没有调用setsid的子进程,成为孤儿之后,调用read(stdin_fileno)返回-1,errno=eio
1,假如是,则调用 read为啥不返回-1?
2,假如不是,又是为什么?
3,没有控制终端,调用read为什么不返回错误而返回1?

展开
收起
杨冬芳 2016-07-11 17:16:15 1865 0
1 条回答
写回答
取消 提交回答
  • IT从业

    setsid( )调用成功后,进程成为新的会话组长和新的进程组长,并于原来的登录会话和进程组脱离。由于会话过程对控制终端的独占性,进程同时与控制终端脱离。

    这样就不会是孤儿进程了

    2019-07-17 19:54:25
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
服务上云加速大家居产业C2M进程 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多