gpt4 book ai didi

linux - 为什么在 Linux 中父进程被杀死后子进程仍然存在?

转载 作者:IT王子 更新时间:2023-10-29 00:14:02 26 4
gpt4 key购买 nike

有人告诉我,当你在 linux 中杀死父进程时,子进程也会死。
但我对此表示怀疑。所以我写了两个 bash 脚本,其中 father.sh 会调用 child.sh

这是我的脚本:

enter image description here

现在我运行 bash father.sh,你可以检查它 ps -alf enter image description here

然后我通过kill -9 24588 杀死了father.sh,我猜子进程应该被终止,但不幸的是我错了。 enter image description here

谁能解释一下为什么?

谢谢

最佳答案

不,当你单独杀死一个进程时,它不会杀死 child 。

如果您希望给定组的所有进程都接收信号,则必须将信号发送到进程组

例如,如果您的父进程 ID 的代码为 1234,则您必须指定 parentpid 添加符号减号,后跟您的父进程 ID:

kill -9 -1234

否则,孤儿将被链接到init,如您的第三张截图所示( child 的PPID已变为1)。

关于linux - 为什么在 Linux 中父进程被杀死后子进程仍然存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com