孤儿进程调用setsid之后,还是孤儿进程么?
首先可以确认,在linux系统中,调用setsid的进程没有控制终端,但是可以调用read(stdin_fileno)
不会返回 -1.
而没有调用setsid的子进程,成为孤儿之后,调用read(stdin_fileno)返回-1,errno=eio
1,假如是,则调用 read为啥不返回-1?
2,假如不是,又是为什么?
3,没有控制终端,调用read为什么不返回错误而返回1?
setsid( )调用成功后,进程成为新的会话组长和新的进程组长,并于原来的登录会话和进程组脱离。由于会话过程对控制终端的独占性,进程同时与控制终端脱离。
这样就不会是孤儿进程了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。