今天在调试kerberos验证小程序时,发现TGS服务器总是出现java bind exception,而AS server与SS sever 正常,调试发现TGS总是卡在serverSocket = new ServerSocket(port);怀疑是端口被占用,将之前使用的6000端口换成6001时,问题解决,后查看端口6000发现,发现果然是被占用了。下面记录一下,端口查看的命令。
dos下查看所有端口并带进程号
C:\Documents and Settings\Administrator>netstat -ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1616
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:2869 0.0.0.0:0 LISTENING 492
TCP 0.0.0.0:6000 0.0.0.0:0 LISTENING 3956
TCP 0.0.0.0:6001 0.0.0.0:0 LISTENING 3784
TCP 127.0.0.1:1028 0.0.0.0:0 LISTENING 948
PID为使用该端口的进程,可以看到6000被使用
搜索特定的端口
C:\Documents and Settings\Administrator>netstat -aon|findstr "6000"
TCP 0.0.0.0:6000 0.0.0.0:0 LISTENING 3956
UDP 0.0.0.0:6000 *:* 3956
找到使用6000端口的进程3956
搜索该进程的程序名称
C:\Documents and Settings\Administrator>tasklist|findstr "3956"
KwMV.exe 3956 Console 0 11,552 K
哈~发现是Kw,酷我音乐盒,因为之前没有开音乐盒一直无事,这次听了会歌,就出事了,呵呵~~
ps:又开机一次,再次验证,酷我一直占用6000端口,进程号是随机变的。