一、问题描述
看到linux服务器上一个服务总是起不来,于是用netstat看了一下端口是否被占用,结果显示进程的端口8835确实被占用,但是我把这个进程杀掉之后,再看了一下端口占用的情况,发现8835端口依然被占用,占用该端口的进程仍然存在,并且换了一个进程号。
于是考虑到是有父进程存在,导致这个占用端口的子进程无法简单地通过kill进程号来杀除。
二、解决过程
先来看看进程占用的情况:
可以看到服务器的8835端口被进程号为15685的进程占用了
我们看一下这个进程的父进程
命令:ps -ef | grep 子进程号
第三列就是父进程的pid
kill -9 23995(父进程的pid)
再kill 子进程,就ok了。
最后吐槽一下,网上对于这种情况的结论,一上来就是哎呀你这个服务器中了木马了,准备重装系统吧。
真的是匪夷所思呀。