找出占用你端口的罪魁祸首
做开发的同学经常会碰到一个恼人的问题,那就是启动服务器时会抛出一个XXXX端口被占用的异常(⊙o⊙)…,究竟这个端口被哪个家伙给使用了呢?下面我们花两步来找出来,并kill掉它。
假设一下,异常报出1371端口被占用了。
在windows环境下面,从开始->运行,输入cmd,进入dos界面,然后输入如下命令并运行。
viewplaincopytoclipboardprint?
1.C:\DocumentsandSettings\qingxu>netstat-aon|findstr"1371"
2.TCP10.5.35.151:1371203.208.37.104:80CLOSE_WAIT2160
C:\DocumentsandSettings\qingxu>netstat-aon|findstr"1371"TCP10.5.35.151:1371203.208.37.104:80CLOSE_WAIT2160
可以看到,运行命令后出现了一行记录,我们关注的是最后一个字段,对,就是2160,它表示占用这个端口的进程号。
有了进程号之后,继续输入如下命令并运行
viewplaincopytoclipboardprint?
1.C:\DocumentsandSettings\qingxu>tasklist|findstr"2160"
2.Fiddler.exe2160Console0150,648K
C:\DocumentsandSettings\qingxu>tasklist|findstr"2160"Fiddler.exe2160Console0150,648K
可以看到,是fiddler.exe这个程序在运行。之后你就可以关闭掉这个程序即解决问题,当然你也可以换端口号。
在linux下键入命令并运行
viewplaincopytoclipboardprint?
1.-bash-2.05b$sudonetstat-anp|grep'1371'
2.
3.ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programname
4.tcp052218.104.81.152:1371211.100.39.250:29488ESTABLISHED6111/1
-bash-2.05b$sudonetstat-anp|grep'1371'ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp052218.104.81.152:1371211.100.39.250:29488ESTABLISHED6111/1
最后一个字段即是进程号和应用程序名称,找到并关闭之。