kill -9 进程杀不掉,怎么办?

小哈学Java

共 796字,需浏览 2分钟

 ·

2020-07-28 12:18

点击上方蓝色“小哈学Java”,选择“设为星标

回复“资源”获取独家整理的学习资料!

afc6d8d3519f3df6571657744306d24a.webp

00ab76e9cce81333d7c1121d013f8dd3.webp

来源 | https://blog.csdn.net/21aspnet/article/details/6754445

用ps和grep命令寻找僵尸进

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

命令注解:

  • -A 参数列出所有进程

  • -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程。

所以我们使用grep抓取stat状态为zZ进程,运行结果参考如下:

Z 12334 12339 /path/cmd

这时,我们可以使用 kill -HUP 12339来杀掉这个僵尸进程

运行后,可以再次运行

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

来确认是否已经将僵尸进程杀死 如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行

kill -HUP 12334

来解决问题

一般可以用top命令发现动态进程表

9ddae3f86cbe15fb316cc465ad846ab3.webp

其中zombie是僵尸进程

END


b2edc574962ac483ca8ca3a52515839f.webp

有热门推荐?

1. Java 集合框架综述,这篇让你吃透!

2. 一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)

3. 分布式 Session 解决方案

4. 项目是如何死掉的?太过真实!

最近面试BAT,整理一份面试资料Java面试BATJ通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报