- Windows 解决端口占用问题。
#Windows 解决端口占用的方法
终止占用进程
- 使用命令查找占用端口的进程并终止它。
- 使用命令查找占用端口的进程并终止它。
更改端口号
- 在应用程序或服务的配置文件中更改端口号,避免与其他进程冲突。
- 在应用程序或服务的配置文件中更改端口号,避免与其他进程冲突。
重新启动计算机
- 重启计算机可以清除端口占用情况,特别是当端口被僵尸进程占用时。
- 重启计算机可以清除端口占用情况,特别是当端口被僵尸进程占用时。
检查防火墙设置
- 确保防火墙设置允许使用该端口,或添加规则以开放端口。
- 确保防火墙设置允许使用该端口,或添加规则以开放端口。
查看网络配置
- 在某些情况下,网络配置或代理设置可能影响端口使用,检查并调整相关设置。
#终止占用进程
查找占用端口的进程的PID
- 运行cmd/powershell, 查找5000端口的 PID, 下图箭头即为PID
- 执行
netstat -aon|findstr :5000|findstr LISTEN
- 执行
- 运行cmd/powershell, 查找5000端口的 PID, 下图箭头即为PID
根据PID查找进程
- 接下来打开任务管理器,查找PID为6916的应用程序
- 接下来打开任务管理器,查找PID为6916的应用程序
重点:补充
当占用进程为系统进程(即PID 4)或者是无法结束的进程(即服务)
- 运行cmd/powershell,
tasklist /svc | findstr
+ PID 或者 服务名称,得到服务名称和PID: - 然后以管理员权限运行cmd/powershell, 输入
net stop 服务名称 /y
停掉对应服务
- 运行cmd/powershell,
当占用进程为PID4且没有服务名称
- 运行命令
netsh http show servicestate
查看进程PID对应的服务 - 然后运行
net stop 服务名称 /y
停掉对应服务即可
- 运行命令
关于443端口若被vmware-hostd.exe占用
- 打开vmwre > 首选项 > 共享虚拟机 > 禁用共享, 或者自行修改为其他端口
- 针对VMWARE16/更新版本,可以编辑(C:\ProgramData\VMware\hostd\proxy.xml),将httpsPort改成非443/80就行
当查询不到端口被任何进程占用
- 即
netstat -aon|findstr :端口号|findstr LISTEN
查询不到端口被任何进程占用且无法监听,可能是LSP[1]被劫持的原因。 - 然后以管理员权限运行cmd/powershell, 输入
netsh winsock reset
, 重启电脑
- 即
#更改端口号
例如:Hexo可以通过更改本地服务器端口号解决端口占用
- bash 运行
hexo server -p 5000
命令或者在 _config.yml中添加下面代码:
1
2server:
port: 5000- bash 运行
#检查防火墙设置
- 当端口被防火墙阻止时
- 可以选择“高级安全Windows防火墙”,新建“入站规则”,指定规则类型为端口并输入端口号配置即可解决端口问题。
- 1.LSP(Layered Service Provider)是 Windows 平台上的一种技术,允许开发人员在(应用层)网络协议栈中插入自定义的层来实现网络数据的处理和管理。这可以包括数据包过滤、监控、修改等功能。 ↩