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