linux僵尸进程杀不死怎么办

linux僵尸进程杀不死的解决方法:1、利用cat命令,查看僵尸进程的父进程id,语法为“cat /proc/僵尸进程的进程号/status”;2、利用kill命令,将父进程给杀死即可,语法为“kill -9 父进程的进程号”。

linux僵尸进程杀不死怎么办

本教程操作环境:linux7.3系统、Dell G3电脑。

linux僵尸进程杀不死怎么办

可以使用kill命令终止Linux系统中的进程。尽管叫这个名字,但kill命令和一组其他的命令 (例如pdill和killall) 其次是被编写/设计为向一个或多个进程发送某些信号。当未指定时,它发送的默认信号是终止进程的SIGTERM信号。

当父进程死亡或被杀死,而其子进程没有跟随其父进程一起消亡时,我们称该进程为孤儿进程。

如何杀死僵尸进程

另一方面,僵尸进程是无法被杀死的!如果你要问什么?因为他们已经死了!

每个子进程终止后,都会成为僵尸进程,然后由父其进程删除。当进程退出其存在并释放其使用过的资源时,其名称仍在OS进程表上。然后会由其父级的进程从进程表中删除其名称。当失败时,我们就有了僵尸进程,但它已经不再是一个真正的进程,而只是操作系统进程表上的一个条目了。

这就是为什么即使在已失效的 (僵尸) 进程上使用命令kill -9 (SIGKILL) 也不起作用的原因,因为没有什么可以杀死的。

因此,要杀死僵尸进程,从进程列表中删除其名称,你就必须杀死其父进程。例如,如果PID 5878是僵尸进程,而其父级是PID 4809,则要杀死僵尸(5878),也请结束PID 4809:

sudo kill -9 4809 #4809 is the parent, not the zombie

但杀死父进程时要非常小心。如果进程的父级是PID 1,并且你杀死了它,就会重新启动系统!

示例如下:

1、根据子进程查看父进程

cat /proc/pid/status

24.png

2、利用“kill -9 父进程的进程号”将父进程给删除掉;

25.png

推荐学习:Linux视频教程

以上就是linux僵尸进程杀不死怎么办的详细内容,更多请关注其它相关文章!