【Windows 8】pid为4的system进程占用80端口的解决办法

时间:2022-08-28 20:49:30

首先介绍一种网上普遍的方法,就是查找占据80端口的进程,然后关闭它就行了。

 

1、运行cmd,然后输入netstat -a -n -o,回车;
2、查看开头几行包含0.0.0.0:80的那一行最后的pid,为几个数字,把这几个数字记下来;
3、启动任务管理器”——“进程,在工具栏”——“选择列前面的框里打上勾;
4、然后找到与刚才那个pid对应的是哪个程序,很容易就会找到,就是它与0.0.0.0:80进行了绑定(bind);

 

 

结束这个进程,再点击ApacheStart按钮,终于出现了那个Running

 

 

但是上面的方法不适用我的情况。。因为我找不到pid=4的进程,于是另一方法。

Win780端口默认是被System进程占用的。

用如下方法可以解决System进程占用80端口的问题:

打开RegEdit:开始-运行-输入regedit-调出注册表

找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

找到一个DWORDStart,将其改为0/4(管用)

重启电脑,System进程将不会占用80端口

就可以打开你的apache






以管理员权限运行c:\windows\system32\cmd.exe C:\WINDOWS\system32>net stop http HTTP Service 服务已成功停止。 C:\WINDOWS\system32>netstat -ano | findstr 0.0.0.0:80 C:\WINDOWS\system32>sc config http start=disabled[SC] ChangeServiceConfig 成功






因为Apache无法启动的原因,用netstat命令查看了一下80端口是否被占用了,如下

C:\Users\Maple>netstat -ano | findstr 0.0.0.0:80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

果然是被占用了,进程PID为4,进任务管理器去查看,PID为4的进程为system,系统进程。

网上搜搜,发现system进行是系统服务进程,系统服务都会由这个进程来启动。

了解到是http的系统服务,结果在系统服务services.msc中没找到,于是去cmd中去停止

C:\Users\Maple>net stop http

下面的服务依赖于 HTTP Service 服务。
停止 HTTP Service 服务也会停止这些服务。

SSDP Discovery
BranchCache

你想继续此操作吗? (Y/N) [N]: Y
发生系统错误 5。

拒绝访问。

以管理员权限运行c:\windows\system32\cmd.exe

C:\WINDOWS\system32>net stop http

HTTP Service 服务已成功停止。

C:\WINDOWS\system32>netstat -ano | findstr 0.0.0.0:80

C:\WINDOWS\system32>sc config http start=disabled
[SC] ChangeServiceConfig 成功