一:Windows
我们经常在本地idea启动项目的时候会报端口冲突,端口已被占用,这个时候我们可能需要排查端口被哪个进程占用
1.1:查看端口对应的pid
netstat -aon|findstr "11000"
1.2:根据pid查看相应进程信息
tasklist|findstr "19528"
1.3:杀死该进程
taskkill /T /F /PID 19528
备注:windows切记不要随便taskkill进程,一定要看完进程信息以后再删除,某些进程可能是windows系统进程,杀死进程可能会造成windows崩溃。
二:Linux
2.1:列出所有tcp端口
[root@localhost ~]# netstat -at
-bash: netstat: 未找到命令
安装net-tools插件
yum -y install net-tools
netstat -atp
发现已经可以看到信息了
2.2:根据端口查看pid
[root@localhost ~]# ps -ef|grep 5601
root 1287 789 0 02:50 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5601 -container-ip 172.17.0.4 -container-port 5601
root 8067 2383 0 06:45 pts/0 00:00:00 grep --color=auto 5601
[root@localhost ~]#
如上所示,5601端口对应的pid就是1287
2.3:杀死进程
在Linux中杀死进程,可以使用kill的一些命令
kill pid
如果kill杀不死进程,还可以直接使用kill -9 pid强制删除程序进程
kill -9 pid
注意:Linux中最好不要使用kill命令,原则上我们需要优雅的关闭程序,而不是直接使用kill暴力方式