日期:2014-05-17 浏览次数:20699 次
? 开始--运行--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]