1.首先使用netstat命令查看80端口被谁占用,操作命令如下
netstat
-ano
|more
上图显示80端口被pid4
system占用
2.其次分析端口被占用原因,该进程是Http.sys。它是http
API的驱动组件,Http栈服务器。如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。netsh
http
show
servicestate
命令能找出是哪个应用程序在使用Http.sys
3.最后解决问题。可以禁用http.sys
1.
net
stop
http
2.
Sc
config
http
start=
disabled
80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。搭建网站主要使用的也是80端口,但是当80端口被其他的程序占用时应该怎么办呢?
在windows下查看80端口占用情况?是被哪个进程占用?如何终止进程?
这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:
netstat -aon | findstr "80"
然后会出现占用80端口的进程PID
Proto Local Address Foreign Address State PID
可以看出80端口被进程号为4306的程序占用.
tasklist | findstr "4306"
进程名 PID 会话名 会话 内存使用
很明显,是httpd占用了80端口httpd.exe是Apache相关程序,是服务器软件中的一个进程,这是属于正常的使用。
不过,并不是只有httpd.exe进程会占用80端口,可能有其他的程序也会占用80端口,当你不知道占用端口的进程是干什么用的时,最好先查一下,避免关闭了正常使用的程序造成不必要的麻烦,如果确定是无效或恶意占用的程序就可以执行下面的命令.
taskkill /pid 4306 /F
成功: 已终止 PID 为 4306 的进程。
这表示使用上面的命令已将PID为4306的进程终止.(这一步同样可以在任务管理器中执行,httpd.exe就是任务管理器中的映像名称,选中它,点击"结束进程"即可)
tasklist | findstr "4306"
再次确认是否成功终止,如果成功终止此次执行命令后应返回空.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)