记录一次kill杀不死的进程

文章讲述了同事在使用JMeter压测数据库时遇到服务器负载过高且进程异常的问题,发现是僵尸进程,通过`psaux|grepZ`和`ps-ef|greppid`找出父进程,最终使用`kill-9ppid`解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天同事压测数据库,使用jmeter,一会儿发现数据库访问不了,一看数据库服务器负载150, 我擦。

然后一看进程,有很多jmeter的进程,明显不正常,使用kill -9也杀不死

最后网上搜索一圈,得知此进程已经变为僵尸进程。只能杀其父进程。

首先使用 ps aux | grep pid 查看结果:

[rsrlogin@xuid17 ~]$ ps aux | grep 'Z'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
rsrlogin  2761  1.6  0.0      0     0 pts/1    Z    14:22   0:09 [java] <defunct>
rsrlogin  4797  0.0  0.0 112812   960 pts/2    S+   14:31   0:00 grep --color=auto Z

如果state 为 ‘Z’ 就代表为僵尸进程;

接下来使用ps -ef | grep pid 查看结果:

[rsrlogin@xuid17 ~]$ ps -ef | grep 4358
rsrlogin  4358  4334  4 14:29 pts/1    00:00:09 /usr/local/jdk1.8.0_171/bin/java -server -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx256m -XX:MaxMetaspaceSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20 -Djava.security.egd=file:/dev/urandom -Duser.language=en -Duser.region=EN -jar ./ApacheJMeter.jar -n -t 订单自动化.jmx
rsrlogin  5008  2490  0 14:32 pts/2    00:00:00 grep --color=auto 4358
root     24358     2  0 13:13 ?        00:00:00 [kworker/1:2]

这里返回的第一列(4358)是pid列,第二列(4334)是ppid列。

然后使用kill -9 4334 即可正常结束进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值