gpt4 book ai didi

c - kill - 它会立即终止进程吗?

转载 作者:太空狗 更新时间:2023-10-29 15:12:01 24 4
gpt4 key购买 nike

什么是kill究竟是什么?

我有一个父进程,它正在一个接一个地创建 100 个(作为示例)子进程。在任何 child 的工作结束时,我用 kill(pid_of_child, SIGKILL) 杀死 child 我在 ps 中看不到输出。但是,如果父进程出现问题并且我从父进程退出 exit(1) (此时只有 1 个 child 在那里 - 我可以在 ps 中查看),那时我看到很多 <defunct> ppid 的进程是pid父进程。

这怎么可能?做了kill不完全杀死子进程?

最佳答案

kill 不会杀死任何东西。它向目标进程发送信号。 SIGKILL 只是一个信号。现在,SIGKILL 的标准操作——实际上,唯一的操作,因为 SIGKILL 不能被进程处理或忽略——是退出,这是真的。

”进程是一个尚未被 收割的子进程,这意味着父进程尚未调用 wait() 来检索退出状态的 child 。在父进程调用 wait() 之前,已失效(或“僵尸”)进程将挂起。

关于c - kill - 它会立即终止进程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8468866/

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