gpt4 book ai didi

linux - 用于终止父进程 1 的已失效进程的脚本

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

我有一个进程是 init (ppid = 1) 的子进程,我的进程中发生了一些不好的事情这个过程变成了僵尸 -

ps -ef | grep defunct
root 10384 1 0 Jun12 ? 00:48:22 [myProc] <defunct>

我尝试用 kill -9 杀死它,pkill 和 killall 没有任何帮助。我尝试将 SIGCHLD 发送到它的父进程,这是 init 进程,但这也无济于事。

Init 由于某种原因没有收割进程(可能是卡住的 I/O - 我们代码中的错误尚未被发现)

似乎摆脱这个的唯一方法是重新启动服务器,这不是一个可接受的解决方案。

我该如何终止这个进程,或者防止这种情况在未来发生。

可以控制我启动进程的方式,如果这可以防止它失效的话。

该进程显然占用了我需要使用的资源,因此让它卡在那里没有帮助。

最佳答案

令人不快的答案是,你不能。如果进程卡在系统调用中,则无法以任何方式获取它(否则,init 会执行此操作),至少不能通过软件获取。

如果 I/O 与可插拔硬件相关,拔出该硬件可能会终止系统调用,因此进程可以继续和/或终止。

关于linux - 用于终止父进程 1 的已失效进程的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24286032/

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