Windows端口占用

467 阅读1分钟

常规处理端口占用,我们会使用 netstat 命令

查找所有运行的端口

netstat -ano

# 过滤指定端口
netstat -aon|findstr "3000"

最后一位数字就是 PID

查看指定 PID 的进程

tasklist|findstr "上述的PID"

杀掉不符合预期的进程

taskkill /T /F /PID 上述PID 

但是,并不总是有效

比如 Hyper-V占用(WSL 保留端口)导致的端口占用

请注意使用 CMD 用管理员模式运行

netsh interface ipv4 show excludedportrange protocol=tcp

会展示如图所示的列表

QQ_1724725904301.png

修复如下

# 停止 WinNAT 服务以释放被占用的端口
net stop winnat

# 保留想要使用端口
# startport 表示起始端口,numberofports 表示要保留的端口数量。比如保留 1080~1089 端口:
netsh int ipv4 add excludedportrange protocol=tcp startport=1080 numberofports=10

# 重新启动 winnat 服务
net start winnat

此时重新检查 端口占用情况

QQ_1724726255533.png

经检查,我们需要的端口不在排除名单,遂可以使用了。


以上只针对 CMD CMD的管理员模式运行