端口被占用时的解决办法

问题:今天启动一个项目的服务的时候Console中报错:java.net.bindexception: address already in use: jvm_bind:808

原因:这是由于程序端口被战胜而导致的

解决办法:
在dos窗口,先用命令提示符 " netstat -ano " 命令显示端口状态,再在结果中找到被占用的端口对应的PID;然后输入 “ tasklist ” 命令显示中查找其对应程序,就可知道其程序名,进而查明程序的来源,采取适当的措施。一般就是在“任务管理器”中将对应的进程结束掉就可以了。

用netstat -ano 命令结果: 
Proto Local Address          Foreign Address        State           PID 
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2544 
TCP    0.0.0.0:100            0.0.0.0:0              LISTENING       2544 
TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1404 
TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4 
TCP    0.0.0.0:1110           0.0.0.0:0              LISTENING       228 
TCP    127.0.0.1:1025         0.0.0.0:0              LISTENING       1052 
TCP    127.0.0.1:1159         127.0.0.1:1110         CLOSE_WAIT      2992 
TCP    127.0.0.1:1297         127.0.0.1:1110         CLOSE_WAIT      2992 
TCP    127.0.0.1:1324         127.0.0.1:1110         CLOSE_WAIT      2992 
可见80端口被PID 为2544的进程占用了。 

用tasklist 命令: 
图像名                       PID 会话名           会话#       内存使用 
========================= ====== ================ ======== ============ 
System Idle Process            0 Console                 0         28 K 
System                         4 Console                 0        264 K 
WebThunder.exe              2544 Console                 0     12,120 K 
java.exe                    2884 Console                 0      6,296 K 
tasklist.exe                3464 Console                 0      4,372 K 
可见2544是WebThunder.exe进程。将其关闭。

你可能感兴趣的:(端口)