LINUX里,父进程退出了,子进程一定会退出吗?

 我来答
handsoul
推荐于2017-05-16 · TA获得超过955个赞
知道小有建树答主
回答量:500
采纳率:0%
帮助的人:756万
展开全部
不。
若父进程退出,子进程尚未结束,则子进程会被init进程领养,也就是说init进程将成为该子进程的父进程。
若希望父进程退出,子进程也退出的话,可以使用线程,因为若进程结束,则还没结束的线程一定会立刻结束。或者如楼上所说,用信号,用atexit注册一个退出时执行的函数,这个函数中发送信号给子进程即可。
星呈幻
2011-02-24 · TA获得超过481个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:269万
展开全部
不会,父进程退出后,子进程成为孤儿进程被init进程收养。如果需要用父进程回收子进程,就要在父进程里使用waitpid,这个函数会让父进程阻塞,直到子进程执行完成。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闪闪红星张学良
2014-11-01 · TA获得超过1244个赞
知道大有可为答主
回答量:2416
采纳率:0%
帮助的人:3565万
展开全部
不。
若父进程退出,子进程尚未结束,则子进程会被init进程领养,也就是说init进程将成为该子进程的父进程。
若希望父进程退出,子进程也退出的话,可以使用线程,因为若进程结束,则还没结束的线程一定会立刻结束。或者如楼上所说,用信号,用atexit注册一个退出时执行的函数,这个函数中发送信号给子进程即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超级7yw
2019-09-03 · TA获得超过255个赞
知道小有建树答主
回答量:379
采纳率:14%
帮助的人:87.2万
展开全部
子进程被父进程fork之后,父进程先比子进程死亡,子进程的ppid变成祖宗级别的id可能是0进程init进程,子进程被称为“孤儿进程”父进程死亡,被领养。
子进程死亡,父进程回收。父进程在未回收接受,子进程又叫“僵尸进程”没有人收尸。
还有我也疑惑的是是:随着终端关闭,终端运行的程序都会死掉,而不是迁移id到init进程,难道是这是异常终止,而不是正常退出?避免这种情况,就是靠变为守护进程了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
20c29bq
2011-02-24 · TA获得超过1542个赞
知道小有建树答主
回答量:790
采纳率:0%
帮助的人:611万
展开全部
理论上可以用信号。但是,没办法做到子进程退出同一时间父进程退出。必须父进程有调用检测。

参考资料: 百度一下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式