LINUX里,父进程退出了,子进程一定会退出吗?
答案:4 悬赏:60
解决时间 2021-01-30 10:52
- 提问者网友:且恨且铭记
- 2021-01-29 10:52
LINUX里,父进程退出了,子进程一定会退出吗?
最佳答案
- 二级知识专家网友:佘樂
- 2021-01-29 12:08
不。
若父进程退出,子进程尚未结束,则子进程会被init进程领养,也就是说init进程将成为该子进程的父进程。
若希望父进程退出,子进程也退出的话,可以使用线程,因为若进程结束,则还没结束的线程一定会立刻结束。或者如楼上所说,用信号,用atexit注册一个退出时执行的函数,这个函数中发送信号给子进程即可。
若父进程退出,子进程尚未结束,则子进程会被init进程领养,也就是说init进程将成为该子进程的父进程。
若希望父进程退出,子进程也退出的话,可以使用线程,因为若进程结束,则还没结束的线程一定会立刻结束。或者如楼上所说,用信号,用atexit注册一个退出时执行的函数,这个函数中发送信号给子进程即可。
全部回答
- 1楼网友:舍身薄凉客
- 2021-01-29 14:08
时间父进程退出。必须父进程有调用检测。
- 2楼网友:持酒劝斜阳
- 2021-01-29 12:44
理论上可以用信号。但是,没办法做到子进程退出同一时间父进程退出。必须父进程有调用检测。
参考资料:百度一下
- 3楼网友:蓝房子
- 2021-01-29 12:26
不会,父进程退出后,子进程成为孤儿进程被init进程收养。如果需要用父进程回收子进程,就要在父进程里使用waitpid,这个函数会让父进程阻塞,直到子进程执行完成。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯