Bootstrap

端口被占用的解决办法

背景

今天启动项目,报端口被占用。

Caused by: org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:20880
    at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:303)
    at com.alibaba.dubbo.remoting.transport.netty.NettyServer.doOpen(NettyServer.java:92)
    at com.alibaba.dubbo.remoting.transport.AbstractServer.<init>(AbstractServer.java:63)
    ... 48 more
Caused by: java.net.BindException: Address already in use: bind
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)

不用想,肯定是某个进程没有被正常关闭,导致端口被占用了。(此时大概率是java 进程,因为本人启动的是java项目)

定位

本人window系统,所以使用windows 定位端口进程三件套

1、定位端口所在进程pid
 netstat -ano | findstr 20880

结果

  TCP    0.0.0.0:20880          0.0.0.0:0              LISTENING       13700(这个就是pid,进程id)
2、定位pid所在的进程
tasklist | findstr 13700

结果

java.exe                     13700 Console                    3    581,892 K
3、杀死pid所在的进程
 taskkill /F  /pid 13700

结果

成功: 已终止 PID 为 13700 的进程。

此处,windows系统,也可以通过任务管理器的方式,找到对应进程,右键结束任务来解决。比较简单,就不贴图了。

结果

再重启项目,重新启动。

;