端口号和进程号的查询与杀死

本文介绍了如何使用`ps aux`和`grep`命令查询进程,以及在端口被占用时如何通过`netstat`找出占用端口的进程PID。以1883端口为例,发现mosquitto进程占用该端口,通过`kill`或`kill -9`命令杀死进程,从而解决端口冲突问题,使得EMQX能够正常启动。
摘要由CSDN通过智能技术生成

ps aux和grep的使用查询进程
root@ubuntu:/opt/emqx# ps aux|grep emqx
root 8386 0.0 0.0 21292 936 pts/3 S+ 11:11 0:00 grep --color=auto emqx

启动emq,结果报错

2020-05-22 11:06:54.126 [error] mqtt:tcp failed to listen on 1883 - eaddrinuse (address already in use)
2020-05-22 11:06:54.127 [error] [Bridge Connect] Failed to connect with module=emqx_bridge_mqtt

原因是1883端口被占用,那么把占用1883的进程杀掉就行了
端口号查询:netstat |grep 端口号

1、
root@ubuntu:/opt/emqx# netstat |grep 1883
tcp        0      1 192.168.205.128:52420   192.168.3.109:1883      SYN_SENT   
tcp        0      0 localhost:1883          localhost:37251         TIME_WAIT 

可以看到有进程在使用1883端口,但是查看不到具体PID

2、lsof -i:端口号
root@ubuntu:/opt/emqx# lsof -i:1883
COMMAND   PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mosquitto 936 mosquitto    4u  IPv4  27170      0t0  TCP *:1883 (LISTEN)
mosquitto 936 mosquitto    5u  IPv6  27171      0t0  TCP *:1883 (LISTEN)
mosquitto 936 mosquitto    6u  IPv4  48420      0t0  TCP 192.168.205.128:52422->192.168.3.109:1883 (SYN_SENT)

可以看到936这个进程在使用1883端口,一般来说mosquitto默认使用的端口号就是1883.
之后kill掉mosquitto这个进程就好了
杀死进程方式: kill 或者 kill -9

root@ubuntu:/opt/emqx# kill -9 936

然后emqx程序就可以正常启动了


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值