开始--运行--cmd 进入命令提示符 输入netstat -aon 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用假如我们需要确定谁占用了我们的80端口
1、Windows平台
在windows命令行窗口下执行:
1.查看所有的端口占用情况
C:>netstat -ano
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732
2.查看指定端口的占用情况
C:>netstat -aon|findstr "9050"
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)
3.查看PID对应的进程
C:>tasklist|findstr "2016"
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================
tor.exe 2016 Console 0 16,064 K
P:很清楚吧,tor占用了你的端口。
4.结束该进程
C:>taskkill /f /t /im tor.exe
2、Linux平台
大家知道在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:windowssystem32WS2_32.dll
C:WINDOWSsystem32RPCRT4.dll
c:windowssystem32rpcss.dll
C:WINDOWSsystem32svchost.exe
C:WINDOWSsystem32ADVAPI32.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]
Work for fun,Live for love!