问题背景:公司内部的一套发布系统,每次部署,启动git仓库所指代码,并且启动时不是直接通过java -jar 启动的,是属于发布系统内的子进程,当子进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构。导致我们在kill时不能杀掉。
可通过如下方法处理
ps -aux 查看进程状态,如果 STAT 是 Z,那么就是一个僵尸进程。
ps -ef | grep 进程id 找到父进程id
通过kill掉父进程来杀死这个进程。
僵尸进程(Zombie)是指一个已经终止、但是其父进程尚未对其进行善后处理获取终止进程的有关信息的进程,这个进程被称为“僵尸进程”(zombie)。