首页 > 开发 > linux > 正文

80端口被占用了吗

2017-09-11 20:17:47  来源: 网友分享

在启动apache的时候报错


感觉80端口被占用了

想把占用80端口的进程kell掉,下面的情况都找不到pid,是没被占用吗?

解决方案

查看服务器监听的端口:

$ ss -tunlNetid  State      Recv-Q Send-Q     Local Address:Port       Peer Address:Port tcp    LISTEN     0      128                    *:6378                  *:*     tcp    LISTEN     0      128                   :::6378                 :::*     tcp    LISTEN     0      128                   :::80                   :::*     tcp    LISTEN     0      128                   :::22                   :::*     tcp    LISTEN     0      128                    *:22                    *:*     tcp    LISTEN     0      100                  ::1:25                   :::*     tcp    LISTEN     0      100            127.0.0.1:25                    *:*

查看80端口被哪个程序占用

$ lsof -i:80COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEhttpd   2666   root    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2668 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2669 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2670 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2671 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2672 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2673 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2674 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)httpd   2675 apache    4u  IPv6  15095      0t0  TCP *:http (LISTEN)

你可以使用lsof查看端口被哪个服务占用了,然后停用那个服务就好了。

如果没有lsof命令,可以使用apt-get安装,

$ sudo apt-get install lsof

查找PID的方式建议用ps命令

$ ps aux | grep httpdroot      2666  0.0  0.3 177344  3836 ?        Ss   14:31   0:00 /usr/sbin/httpdapache    2668  0.0  0.2 177344  2452 ?        S    14:31   0:00 /usr/sbin/httpdapache    2669  0.0  0.2 177344  2452 ?        S    14:31   0:00 /usr/sbin/httpdapache    2670  0.0  0.2 177344  2468 ?        S    14:31   0:00 /usr/sbin/httpdapache    2671  0.0  0.2 177344  2452 ?        S    14:31   0:00 /usr/sbin/httpdapache    2672  0.0  0.2 177344  2452 ?        S    14:31   0:00 /usr/sbin/httpdapache    2673  0.0  0.2 177344  2452 ?        S    14:31   0:00 /usr/sbin/httpdapache    2674  0.0  0.2 177344  2452 ?        S    14:31   0:00 /usr/sbin/httpdapache    2675  0.0  0.2 177344  2452 ?        S    14:31   0:00 /usr/sbin/httpdroot      3469  0.0  0.0 103308   888 pts/4    S+   19:16   0:00 grep httpd$ sudo killall -9 $pidor$ sudo killall -15 $pid

killall -9是强制杀死
killall -15是让程序保存当前数据后慢慢关闭