方法 1:使用命令行工具 netstat
-
打开命令提示符 (CMD)或 PowerShell:
-
按
Win + R
,输入cmd
或powershell
,然后按回车。 -
(可选)以管理员身份运行,确保获取完整信息。
-
-
输入以下命令:
bash
复制
netstat -ano
-
-a
:显示所有连接和监听端口。 -
-n
:以数字形式显示地址和端口(不解析域名)。 -
-o
:显示占用端口的进程ID(PID)。
-
-
解读输出结果:
-
找到
Local Address
列中的端口号(例如0.0.0.0:80
表示端口80
)。 -
记录对应的
PID
(最后一列)。
-
-
查找占用端口的进程:
-
根据
PID
在任务管理器中查看进程:-
按
Ctrl + Shift + Esc
打开任务管理器。 -
切换到"详细信息"选项卡,找到对应
PID
的进程。
-
-
或使用命令查找:
bash
复制
tasklist | findstr "PID"
-
方法 2:使用资源监视器(图形界面)
-
按
Ctrl + Shift + Esc
打开 任务管理器。 -
切换到 "性能" 标签页,点击底部的 "打开资源监视器"。
-
在 "网络" 标签页下:
- 查看 "侦听端口" 列表,直接显示端口号及对应的进程。
方法 3:使用 PowerShell 命令
-
打开 PowerShell(管理员权限更佳)。
-
输入以下命令查看所有TCP连接:
powershell
复制
Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, State, OwningProcess
-
过滤特定端口(例如查看端口
80
):powershell
复制
Get-NetTCPConnection | Where-Object { $_.LocalPort -eq 80 }
终止占用端口的进程
-
通过 任务管理器:
- 在"详细信息"选项卡中找到对应
PID
的进程,右键选择 "结束任务"。
- 在"详细信息"选项卡中找到对应
-
通过命令行:
bash
复制
taskkill /PID <PID> /F
- 将
<PID>
替换为实际进程ID,/F
表示强制终止。
- 将
示例:查找并关闭占用端口80的进程
-
在CMD中运行:
bash
复制
netstat -ano | findstr ":80"
-
找到对应的
PID
,例如1234
。 -
终止进程:
bash
复制
taskkill /PID 1234 /F
注意事项
-
操作需谨慎,终止系统关键进程可能导致系统不稳定。
-
某些端口可能被系统服务或安全软件占用,需确认后再操作。
通过以上方法,你可以快速定位并管理Windows中被占用的端口
<script></script>