当前位置: 首页 > 科技观察

快速解决Windows和Linux下端口冲突问题

时间:2023-03-15 20:03:46 科技观察

在测试和运维过程中,经常需要在同一台服务器上部署多个应用,经常会遇到端口冲突的问题(即端口被占用)otherserviceprograms),那么如何找出哪个应用程序占用了要使用的端口呢?下面的小技巧教你快速解决端口冲突问题。Netstat命令说明netstat命令是一个非常有用的工具,用于监视TCP/IP网络。它可以显示每个网络接口设备的路由表、实际网络连接和状态信息。发现命令参数在Windows和CentOS系统下略有不同。.Windows系统下的netstat命令参数:CentOS系统下的netstat命令参数:通过对比Windows和CentOS系统下的netstat命令参数,我们可以看到在显示进程号中,Windows系统增加了-o参数显示进程号,而在CentOS系统中,增加-p参数显示进程号;所以在使用netstat显示端口连接时,Windows和CentOS系统下的命令分别是:netstat-ano和netstat–anp。这两条命令是显示所有端口连接。如果端口连接很多,不方便查找我们要的端口是否存在。这时候就需要添加端口,以便进一步查找和展示。Windows下的搜索命令是findstr*,CentOS下的搜索命令是grep*(这里的*用端口号代替)。检查端口是否被占用。Windows下查看端口是否被占用的命令是netstat-ano|查找字符串“8088”。8083”,如果已有程序占用执行结果如下图:通过进程号查看占用端口的应用程序,netstat只能查看占用端口的进程号,具体需要其他命令查询应用程序,对于Windows系统,我们使用命令wmicprocessgetname,executablepath,processid|findstr2984(2984是netstat查询到的进程号),如下图:对于CentOS系统,我们使用命令ps-ef|grep48963(48963是netstat查询到的进程号),如下图:通过jps命令查看Java应用的应用路径,从上面可以看出都是Java应用,但是应用路径Windows系统中没有像CentOS系统中那样列出来,所以需要使用Java自带的命令行工具jps2984(2984是netstat查询到的进程号)查看Java应用路径,如sho下图中的wn:执行jps2984命令后可以看到整个进程号为2984的Java应用程序的信息。我们找到user.dir=D:\nexus-2.8.1-01-bundle\nexus-2.8.1-01就知道占用端口的应用程序路径。通过以上步骤,相信如果再次出现端口冲突的问题,大家应该可以很快的找到占用端口的应用了。如果你有更好的方法,可以关注我们的微信公众号,回复留言和我们一起讨论。本文转载自微信公众号“麻辣软硬件”,可通过以下二维码关注。转载本文请联系麻辣软硬件公众号。