80端口被NT kernel & System 占用pid 4

来源:互联网 发布:windows sdk 8.1下载 编辑:程序博客网 时间:2024/04/28 12:08

由于80端口被其他进程占用导致Apache无法启动,解决这个问题首先要知道是哪个进去占用了80端口再关掉它就可以了
1,在cmd输入"netstat -ano"命令,这时候可以看到80端口被PID4占用了


2,在任务管理器里面查看PID为4的进程"NT kernel & System",由于PID是系统进程,所以直接关是关不掉的,

解决办法:http://www.cameroncooke.com/2009/01/25/windows-7-uses-port-80-and-makes-it-impossible-to-install-apache-solution/comment-page-1/#comments


该进程是Http.sys。它是http API的驱动组件,Http栈服务器。如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。这就是阻止Apache运行的原因,因为Http.sys占用着80端口。我们提供了一种应用程序的机制来帮助控制端口共享,但是我需要调查导致你遇到这种困难的是什么特殊应用程序。如果你能提供给我们“netsh http show servicestate”这条命令的输出结果,我就能找出是哪个应用程序在使用Http.sys。


在你禁用Http.sys之前,请按照下面的步骤来运行命令:
1. sc config http stat = demand
2. reboot
3. run the command(netsh http show servicestat)as administrator
在你使用这个命令之前,你可以按照下面步骤禁用http.sys:
1. net stop http

2. Sc config http start= disabled
于是运行net stop http 按y 确定


在运行 Sc config http start= disabled


好了,现在启动Apache,可以启动了。
在查看一下netstat -ano


发现pid 4占用了445端口

0 0