CentOS如何查看端口是被哪个应用/进程占用

今天发现自己的apache启动不了了,在网站问了一下说可能是80端口给其它应用进程占用了,下面我们一起来看看在CentOS如何查看端口是被哪个应用/进程占用并结此进程的方法。
 

有时启动应用时会发现端口已经被占用,或者是感觉有些端口自己没有使用却发现是打开的。这时我们希望知道是哪个应用/进程在使用该端口。

CentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不过参数会不同

Linux:

netstat -nap #会列出所有正在使用的端口及关联的进程/应用
lsof -i :portnumber #portnumber要用具体的端口号代替,可以直接列出该端口听使用进程/应用

一、检查端口被哪个进程占用

 代码如下 复制代码

netstat -lnp|grep 88   #88请换为你的apache需要的端口,如:80

SSH执行以上命令,可以查看到88端口正在被哪个进程使用。如下图,进程号为 1777 。

apache-port-1.jpg

二、查看进程的详细信息

ps 1777

 SSH执行以上命令。查看相应进程号的程序详细路径。如下图。

 apache-port-2.jpg

三、杀掉进程,重新启动apache

 代码如下 复制代码
 kill -9 1777        #杀掉编号为1777的进程(请根据实际情况输入)
service httpd start #启动apache


SSH执行以上命令,如果没有问题,apache将可以正常启动。

Windows系统:

netstat -nao #会列出端口关联的的进程号,可以通过任务管理器查看是哪个任务

最后一列为程序PID,再通过tasklist命令:tasklist | findstr 2724

再通过任务管理结束掉这个程序就可以了

http://www.111cn.net/sys/CentOS/54773.htm

posted on 2016-07-09 00:19  chen110xi  阅读(26291)  评论(1编辑  收藏  举报