转自 http://www.cnblogs.com/allenblogs/archive/2010/06/25/1765055.html
开始--运行--cmd 进入命令提示符 输入netstat -aon 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用
假如我们需要确定谁占用了我们的80端口
1、Windows平台
在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。 如果需要查看其他端口。把 80 改掉即可
大家知道在linux下使用 lsof +p 端口号 可以查看端口的进程
使用此命令可以查看win下所有开着的端口是被那个系统程序占用以及程序的pid。
n年前搞测试的时候解决端口占用问题时候用的命令,想里半天才回忆出来。分享给大家。为了方便记忆参数写成了No AB 更多参数请查考netstat /?
----一下是节选部分输出结果--
netstat -noab
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 996
c:\windows\system32\WS2_32.dll
C:\WINDOWS\system32\RPCRT4.dll
c:\windows\system32\rpcss.dll
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\system32\ADVAPI32.dll
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
[System]
TCP 0.0.0.0:2967 0.0.0.0:0 LISTENING 1776
[Rtvscan.exe]
TCP 72.71.0.24:139 0.0.0.0:0 LISTENING 4
[System]
TCP 127.0.0.1:1049 0.0.0.0:0 LISTENING 232
[alg.exe]
TCP 127.0.0.1:1060 0.0.0.0:0 LISTENING 2104
[ccApp.exe]