linux “bind: address already in use“ 解决方案

转载作者的作者的文章(套娃~):
原文链接:https://blog.csdn.net/wzl_lzw/article/details/84196085

 

问题:

启动http服务时,发现端口被占用,于是乎:

第一:netstat -apn | grep 端口号

(这里的端口号,替换成你被占用的那个端口号,比如Tomcat是8080,namenode是8020之类的,还有最好用root来使用这些系统级的命令)

然后得到这样的结果:

最后一排其实就pid,然后我们通过kill -9 pid 就可以杀掉对应的进程(例如,kill -9 4438)

但是kill前,我们还是要确定下到底这个哪里开的进程能不能随便杀掉,所以。。。

netstat 参数:

-a或–all:显示所有连线中的Socket。
-n:直接使用IP地址,而不通过域名服务器。
-p:显示正在使用Socket的程序识别码和程序名称。

第二:ps -ef | grep 端口号

这样就可以看看你这个进程到底是谁开的,在哪里开的,如下图:


这边显示了两行,每行都是以用户名开头的,第一个就是普通用户开启的namenode进程,第二个是root用户执行的ps -ef | grep 4438这个命令生成的,就好像我们每次jps的时候,就有jps这个进程。

ps 参数:

-e:显示所有进程,环境变量

-f :全格式

第三:kill -9 端口号

 ko ~

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值