windows grep命令_快速解决Windows和Linux下的端口冲突问题

在测试和运维环节经常需要部署多个应用程序在同一台服务器上,这样经常就会碰到端口冲突的问题(即端口被其他服务程序占用),那么如何查找出是哪个应用程序占用了要使用的端口呢?下面几招教你快速解决端口冲突问题。

netstat命令说明

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在Windows和CentOS系统下命令参数发现略有区别。

Windows系统下的netstat命令参数:

8479b2806ef00921cbf603e8843aac15.png

CentOS系统下的netstat命令参数:

f94d941239589466cab5400369060264.png

通过对比netstat在Windows和CentOS系统下命令参数我们可以看出在展示进程号上,Windows系统中加-o参数来显示进程号,而CentOS系统中加-p参数来显示进程号;所以使用netstat展示端口连接时Windows和CentOS系统下命令分别为:netstat -ano和netstat –anp。这两个命令是展示所有的端口连接,如果端口连接很多时不方便查找我们想要的端口是否存在。此时需要再加上端口进行更加查找展示,Windows下查找的命令是findstr *,CentOS下查找的命令是grep *(此处的*使用端口号替代)。

查看端口是否被占用

Windows下查看端口是否被占用的命令为netstat -ano | findstr "8088",若已有程序占用执行结果如下图:

a597fae4a58bccc4dc3f8869cd4c088a.png

CentOS下查看端口是否被占用的命令为netstat -anp | grep "8083",若已有程序占用执行结果如下图:

1e7a53616ab0f7fd47a53b56f455ba45.png

通过进程号查看占用端口的应用程序

netstat只能查看占用端口的进程号,所以还需要其他命令来查询具体应用程序,Windows系统我们使用命令wmic process get name,executablepath,processid | findstr 2984(2984为使用netstat查询的到的进程号),如下图:

5744cdd8b402ad0d08fb7a3111e80315.png

CentOS系统我们使用命令ps -ef | grep 48963 (48963为使用netstat查询的到的进程号),如下图:

2b9d24d7aae064a53c725a1f22e87bc7.png

Java应用程序通过jps命令查看应用程序路径

从上面可以看出均是Java应用程序,但Windows系统下没有像CentOS系统下那样列出了应用程序路径,所以还需要使用Java自带的命令行工具jps 2984(2984为使用netstat查询的到的进程号)来查看Java应用程序路径,如下图:

19491e75b5d18e8ebf81e115ec44322d.png

可以看到执行jps 2984命令后进程号为2984的整个Java应用程序的信息,我们找到user.dir = D:exus-2.8.1-01-bundleexus-2.8.1-01即可知道占用端口的应用程序路径了。

通过以上的步骤相信如果再出现端口冲突的问题大家都应该能快速找到占用端口的应用程序了。如果大家有更好的方法可以关注我们的同名微信公众号“麻辣软硬件”,回复消息与我们进行探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值