端口被占用问题

今天又出现了Address already in use: JVM_Bind:8080这个问题,我真的很无语,去查看了一下进程觉得没有被占用啊,于是,直接去修改tomcat的配置文件,修改了以后再启还是Address already in use: JVM_Bind这个错误,我想肯定是改了端口就能轻易解决的问题,于是,用命令去查个究竟看看到底是谁在占用我服务器的端口。

 

 
 
  1. netstat -anob|findstr "8080" 

这个命令能清楚列出,占用8080端口的进程的详细信息,如下图
 

看到了吗?第一行那个0.0.0.0,第一次看到的时候,停顿了一下,这是什么地址,谷歌完后有了下面的解释

 

 
 
  1. 0.0.0.0为默认路由,即要到达不再路由表里面的网段的包都走0.0.0.0这条规则 

说的再通俗点儿就是:0.0.0.0为windows对所有未知ip的地址描述包括网卡dhcp的取得的地址pppoe的ip及其它非本机指定ip.0.0.0.0是全零网络,代表默认网络,帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。

不管它什么地址,占用我的端口就是你不对,来让它放开我的8080

 

 
 
  1. tasklist|findstr "4516" 

看看是谁



竟然是Oracle的监听服务,我无语了,唉,先放开吧,直接去进程里面找到关掉它,也可以用下面的命令

 

 
 
  1. taskkill /im TNSLSNR.EXE 

要是遇到有重名的用下面的命令

 

 
 
  1. taskkill /PID 4516 

好了,世界安静了,再去启动我的三角猫,嗯~~~,一切OK了。



但是在mac上使用的是:

 1.查看端口号被某个程序占用的情况,终端输入:lsof -i tcp:port 将port换成被占用的端口(如:8080)


 2。之后会得到该程序的PID,可以用kill pid来杀掉进程


猜你喜欢

转载自blog.csdn.net/baibaichenchen/article/details/75050374