无论是在Linux还是Windows上都可能会遇到端口被占用nginx、mysql、apache等程序无法启动,下面说分别说一下Linux和Windows上如何查看端口被那个程序占用。 Linux篇:
使用命令:lsof -i:被占用的端口号
会显示出程序,及程序的PID,执行:kill 程序的PID 。
如果提示没有安装lsof这个命令,CentOS可以执行:yum install lsof 安装,Debian可以执行:apt-get install lsof 安装。
Windows篇:
Windows上的工具比较多,如Active Ports,如果手头上没有现成的工具可以用命令:netstat
-aon|findstr "80"
如下图:最后一列为程序PID,再通过tasklist命令:
tasklist | findstr "2724"
再通过任务管理结束掉这个程序就可以了。
第二篇:如何查看80端口是否被占用_端口被占用解决办法
如何查看80端口是否被占用_端口被占用解决办法
进入CMD,输入netstat -ano就可以很清楚的看到本地80口占用程序的PID,然后再去任务管理器里查找到PID所对应的进程(如果任务管理器没有PID,查看-->选择列),原来是迅雷5给占用了,再去迅雷里查看设置,竟然BT的默认TCP传输端口是80,改掉设置,IIS启动正常了。。。
-------------------------------------------------------------------------------------------------------------------
如何查看80端口被占用
开始--运行--cmd
--cmd
进入命令提示符,输入netstat -ano
即可看到所有连接的
PID
之后启动任务管理器
找到这个PID所对应的程序
如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列
"
勾选pid,确定即可显示
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用
假如我们需要确定谁占用了我们的80端口
1、Windows平台
在windows命令行窗口下执行:
C:>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。
如果需要查看其他端口。把 80 改掉即可
补充:原来出现这个错误原因
(httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.111 for ServerName)是因为DNS没配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可
另外360安全卫士中的【流量监控】,查看网络连接就可以看一些端口的情况。