运行cmd/powershell,执行netstat -aon|findstr :80|findstr LISTEN
同理,查找占用443端口的进程也是相同操作,将80换成443即可
得到返回,最右一列为进程PID 19892.接下来打开任务管理器
可以看到进程PID为19892的进程即为占用该端口的进程,将其结束
有时候会遇到比较棘手的情况,就是占用的进程为PID 4 即系统服务(SYSTEM) 或其他无法直接结束进程的服务,可以参考下面两种方式
1.此时可以运行命令tasklist /svc | findstr PID #此处PID为进程对应PID
成功运行后会显示对应的 进程名 / PID / 对应的系统服务
接下来以管理员权限cmd/powershell
运行net stop 服务名称 /y 停掉对应服务即可
2.若方法1为PID4且没有服务名称,运行命令netsh http show servicestate
运行后查看进程PID对应的服务,依然运行net stop 服务名称 /y 停掉对应服务即可
可以自行搜索并查找出相关服务(可参考该链接),或者干脆直接用以下命令直接停用常见的相关服务
管理员权限运行cmd/powershell,直接粘贴进去运行即可
net stop ReportServer /y
net stop MsDepSvc /y
net stop PeerDistSvc /y
net stop SyncShareSvc /y
net stop W3SVC /y
net stop WAS /y
net stop IISADMIN /y
net stop http /y
443端口若被vmware-hostd.exe占用,可以直接打开vmwre->首选项->共享虚拟机->禁用共享,或者自行修改为其他端口
针对VMWARE16/更新版本,可以编辑C:\ProgramData\VMware\hostd\proxy.xml
httpsPort改成非443/80即可
手动排查端口占用可参考:https://www.devside.net/wamp-server/opening-up-port-80-for-apache-to-use-on-windows 或 https://blog.csdn.net/hacker5077/article/details/122748104
若使用 netstat -aon|findstr :80|findstr LISTEN 查询不到端口被任何进程占用,且仍然无法监听,可能是LSP被劫持的原因
管理员权限运行cmd/powershell , 输入netsh winsock reset
回车后一般就OK了.如果出现断网重启电脑即可