【linux】80端口被占用了吗

在启动apache的时候报错

【linux】80端口被占用了吗
感觉80端口被占用了

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

回答

查看服务器监听的端口:

$ ss -tunl

Netid 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:80

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

httpd 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 httpd

root 2666 0.0 0.3 177344 3836 ? Ss 14:31 0:00 /usr/sbin/httpd

apache 2668 0.0 0.2 177344 2452 ? S 14:31 0:00 /usr/sbin/httpd

apache 2669 0.0 0.2 177344 2452 ? S 14:31 0:00 /usr/sbin/httpd

apache 2670 0.0 0.2 177344 2468 ? S 14:31 0:00 /usr/sbin/httpd

apache 2671 0.0 0.2 177344 2452 ? S 14:31 0:00 /usr/sbin/httpd

apache 2672 0.0 0.2 177344 2452 ? S 14:31 0:00 /usr/sbin/httpd

apache 2673 0.0 0.2 177344 2452 ? S 14:31 0:00 /usr/sbin/httpd

apache 2674 0.0 0.2 177344 2452 ? S 14:31 0:00 /usr/sbin/httpd

apache 2675 0.0 0.2 177344 2452 ? S 14:31 0:00 /usr/sbin/httpd

root 3469 0.0 0.0 103308 888 pts/4 S+ 19:16 0:00 grep httpd

$ sudo killall -9 $pid

or

$ sudo killall -15 $pid

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

遇到了同样的问题,以上的命令都试过了,没有用,都查不到。但是一启动node服务器,还是会报错,说80端口被占用。

以上是 【linux】80端口被占用了吗 的全部内容, 来源链接: utcz.com/a/85159.html

回到顶部