当前位置: 技术问答>linux和unix
父进程退出后子进程的问题
来源: 互联网 发布时间:2016-07-07
本文导语: 父进程退出后子进程不能用Ctrl+C终止掉, 如果父进程没有退出,只是sleep则可以用Ctrl+C终止, 怀疑子进程没有继承父进程的终端,但ps后可以看到进程有对应的终端, 怀疑子进程为后台运行,但fg并不能将它转换出...
父进程退出后子进程不能用Ctrl+C终止掉,
如果父进程没有退出,只是sleep则可以用Ctrl+C终止,
怀疑子进程没有继承父进程的终端,但ps后可以看到进程有对应的终端,
怀疑子进程为后台运行,但fg并不能将它转换出来,
有两种可能,
1.子进程没有继承父进程信号处理, 新建的信号处理把SIGINT忽略了。
2.子进程变成孤儿进程后,父进程变为init,是不是从init继承了信号处理?
只是猜测,具体还不太清楚。
如果父进程没有退出,只是sleep则可以用Ctrl+C终止,
怀疑子进程没有继承父进程的终端,但ps后可以看到进程有对应的终端,
怀疑子进程为后台运行,但fg并不能将它转换出来,
有两种可能,
1.子进程没有继承父进程信号处理, 新建的信号处理把SIGINT忽略了。
2.子进程变成孤儿进程后,父进程变为init,是不是从init继承了信号处理?
只是猜测,具体还不太清楚。
|
子进程复制父进程的地址空间,同时也继承了很多父进程的属性