一直以来,在处理linux服务器的过程中,经常会遇到一个问题,有时候kill掉进程之后,端口被占用,新的进程一直起不来,等几十秒之后才能正常启动。所以一直也没专门来处理这个问题。
最近一周频繁出现这样的情况,等待很久也不能启动新进程,总是提示端口被占用,只有重启机器才能恢复正常,这个简直是个灾难,所以下定决心要解决这个问题。
查了一些资料,了解了如何查看端口占用情况和处理方法。
1、使用netstat命令查看端口占用情况。
2、我们还需要知道是什么程序占用,加上-p参数
3、如果比较多的时候我们也可以用grep过滤一下
4、然后kill掉占用端口的进程即可,正常情况下就可以启动新进程了
好了,这样我们就解决了令人烦恼的端口占用问题了。
不过我却遇到了另一个问题,我的代码使用了父子进程,kill掉父进程后,fork出来的子进程却占用了父进程监听的端口,必须把子进程也kill掉才能启动,暂时不知道如何解决,等以后有时间再查查。