免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2108 | 回复: 4
打印 上一主题 下一主题

孤儿进程在用户中断终端时是否会受到sighup信号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-11 22:07 |只看该作者 |倒序浏览
int main(int argc, char* argv[])
{
        pid_t pid = -1;
        signal(SIGHUP,sig_usr);
        if((pid=fork())<0)
                {
                        perror("fork error");
                        return -1;
                }
                if(pid >0)
                {
                        exit(0);
                }

                while(1)
                {
                        pause();
                }
}

如上,当进程成为孤儿进程后,用户登出terminal,孤儿进程的就没有终端,
那是否意味着此刻他已成了一个守护进程!

论坛徽章:
0
2 [报告]
发表于 2006-11-11 22:17 |只看该作者
通过两次 fork(),爷爷进程先 fork() 出爸爸进程,爸爸进程再 fork() 出儿子来,这时候爸爸被杀了或者病逝或者自然死亡可是儿子还活着,儿子就成孤儿了,被孤儿院院长(init)收养

论坛徽章:
0
3 [报告]
发表于 2006-11-12 08:44 |只看该作者
楼上说的跟我的问题有什么关系

论坛徽章:
0
4 [报告]
发表于 2006-11-12 18:29 |只看该作者
如上,当进程成为孤儿进程后,用户登出terminal,孤儿进程的就没有终端,
那是否意味着此刻他已成了一个守护进程!

你的程序中没有把自己主动交给孤儿院院长(init),一旦你退出登录,你的孤儿也就夭折了!
楼上说的跟我的问题有什么关系

还是有关系滴....

爷爷和爸爸都莫名其妙地没了,你孤儿还能好好地活么?

论坛徽章:
0
5 [报告]
发表于 2007-09-24 23:48 |只看该作者
子进程是前台进程组,当shell退出时,也就是session leader退出时,会向所有前台进程组发送SIGHUP信号的

[ 本帖最后由 lanying_wzw 于 2007-9-29 13:53 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP