首先,什么是孤儿进程?
孤儿进程,顾名思义,就是哪些没有父进程的进程,为啥没有父进程了呢?因为父进程挂了,他们还没有挂,这个时候他们就会被孤儿院(init 进程号为1)的收养了…..
今天遇到一个,各种kill -9 啊,杀不掉啊,google之后告诉我类似这种僵尸进程和孤儿进程只能重启….
好吧,今天就说明一下还有一个解决方式,注意,这个解决方式可能只适应特殊情况,请参考即可
首先我们可能知道进程的id
ps -Lf -p 50966
上边这个命令会显示:NLWP (number of threads) and LWP (thread ID)
我们可能会得到类似的结果:
UID PID PPID LWP C NLWP STIME TTY TIME CMD
2288 50966 1 50966 0 2 Nov03 ? 00:00:00 [java]
2288 50966 1 51004 0 2 Nov03 ? 00:00:00 [java]
然后我们可以看一下cat /proc/51004/cgroup,我们就能看到一些文件,最重要的目的还是为了确认要进入哪个文件夹
7:blkio:/openshift/XYZ
6:net_cls:/openshift/XYZ
5:freezer:/openshift/XYZ
4:devices:/
3:memory:/openshift/XYZ
2:cpuacct:/openshift/XYZ
1:cpu:/openshift/XYZ
cd /cgroup/freezer/XYZ
进入之后查看一下状态:cat freezer.state
FROZEN
状态是FROZEN,所以,执行如下命令
echo THAWED > freezer.state
然后….进程自己退出了…..
ps -Lf -p 50966
UID PID PPID LWP C NLWP STIME TTY TIME CMD
注意,这个情况可能只使用于openshift的环境重
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021