少莫千华 2011-07-21
今天启动程序时,总是出现端口占用:
java.net.BindException:Addressalreadyinuse:JVM_Bind
郁闷的是明明只有一个java程序在运行,上网搜了下,端口占用查看过程如下:
netstat-ano|findstr"8888"
TCP0.0.0.0:88880.0.0.0:0LISTENING3964
TCP192.168.111.111:8888192.168.111.112:49299ESTABLISHED3964
发现是3964进程占用了8888端口,继续:
tasklist|findstr"3964"
CCProxy.exe3964Console113,380K
悲剧的想起我的代理用的就是8888端口
只好换个端口了
顺便查了下linux下解决此类情况的方法,如下:
netstat-na|grep13890
tcp00:::13890:::*LISTEN
查看端口使用情况
lsof-i:13890
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
java21355root12uIPv696864122TCP*:13890(LISTEN)
在命令行下是这样的。比如要查看80端口被哪个程序占用了,windows命令行窗口下执行:运行--cmd. 端口被进程号为2448的进程占用,继续执行下面命令:。表示httpd.exe程序占用了端口80