80端口被PID为4的系统进程所占用

装apache的时候80端口被PID为4的系统进程所占用 由于工作中需要直接从MySQL后台读取数据,所以安装了PHPnow,装的过程中提示Apache安装失败,80端口被占用。 在cmd中输入netstat –ano命令,发现80端口被一个PID为4的服务所占用,打开任务管理器,发现PID为4的进程为系统进程,其描述信息为NT Kernel & System,在服务里面又找不到PID为4的服务,所以没法停掉服务。 这种情况基本上就是谷歌和度娘的事了,搜出来的结果大部分不靠谱,要么说迅雷等下载软件会占用80端口,要么说IIS占用了该端口。事实上,我机器上这些服务都没启动。那么究竟是什么原因呢?还好,偶然间看到一个页面说MS SQL Server的报表服务会占用80端口(写日志的时候已经找不到链接了,恕未引用),于是打开windows服务,找到SQL Server Reporting Services (MYSQLSERVER),把它停掉,再安装PHPnow,发现果然能顺利安装。 以后遇到类似问题,关掉SQL Server Reporting Services (MYSQLSERVER)也可以作为一种尝试了。

一些查看端口占用和关闭端口的命令,已443端口为例

1
2
3
4
5
6
netstat -ano|findstr "443" //搜索443端口占用情况,并找到进程ID
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 720 //找到PID为720
UDP 0.0.0.0:59443 *:* 7584
-----------------------------------------------
tasklist|findstr "720" //查找PID为720对应的进程名
QQDownload.exe 720 Console 1 56,156 K //找到是QQ旋风占用,结束掉进程。OK