0.首先:
netstat -ano | findstr “80”
查看占用端口的进程
1.一般应用程序占用, 直接 taskkill /pid xxx /f
结束进程即可
2. system 的 service占用
2.1 pid 4 系统和压缩内存占用 进程占用
2.1.1
直接以系统管理员身份运行 cmd
执行停止http 服务操作
net stop http
执行修改启动项操作
sc config http start=disabled
2.1.2
出现HTTP 服务正在停止…
无法停止 HTTP 服务。
如果再次运行“NET STOP HTTP”命令,会显示以下消息:
服务正在启动或停止中,请稍后重试。
参考https://support.microsoft.com/zh-cn/kb/2597817
核心是执行如下PowerShell脚本(fix.ps1)
$bFoundHttp = $false
$msdepsvc = Get-Service -name MsDepSvc
$reqsvcs = "HTTP"
$msdepsvc.ServicesDependedOn | ForEach-Object `
{
if($_.Name -eq "HTTP")
{
$bFoundHttp = $true
}
else
{
if($_.Name -ne "")
{
$reqsvcs += "/" + $_.Name
}
}
}
if ($bFoundHttp -eq $false)
{
$status = $msdepsvc.Status
if($status -eq "Running")
{
Stop-Service -name MsDepSvc
}
sc.exe config MsDepSvc depend= $reqsvcs
if($status -eq "Running")
{
Start-Service -name MsDepSvc
}
}
2.1.3
执行脚本时发现 MsDepSvc
服务不存在
2.1.4
最后大杀器
直接在控制面板->卸载或更改程序->启用或关闭Windows功能
找到Internet Information Services, 卸载掉(勾掉)全部的万维网服务
(重启生效)
2.2
服务里的SQL Server Reporting Services 可能会占用80端口, 禁掉它
2.3
打开RegEdit:开始-运行-输入regedit-调出注册表
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
找到一个DWORD值Start,将其改为0
重启电脑,System进程将不会占用80端口
2.1, 2.2, 2.3可以互相参考使用
测试环境Windows10