📜  哪个服务使用端口 80 命令 (1)

📅  最后修改于: 2023-12-03 15:23:01.366000             🧑  作者: Mango

哪个服务使用端口 80 命令

当我们需要运行一个服务时,需要确定该服务要使用哪个端口进行通信。当使用端口80时,需要查找哪个服务正在使用这个端口。因为端口80是Http协议使用的默认端口,很可能会有多个服务在使用这个端口。那怎么查找呢?可以使用命令行工具来查找,下面是一些方法。

1. 使用lsof命令查找

使用lsof命令来查找哪个服务正在使用80端口。lsof是一个列出当前系统打开的文件的工具,也可以查找正在使用的端口。以下是使用lsof查找服务的方法:

sudo lsof -i :80

执行该命令后,会列出使用80端口的服务的详细信息,包括服务的名称、PID等等。如下所示:

COMMAND   PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   13531      root    4u  IPv6 139883      0t0  TCP *:http (LISTEN)
httpd   13532    apache    4u  IPv6 139883      0t0  TCP *:http (LISTEN)
httpd   13533    apache    4u  IPv6 139883      0t0  TCP *:http (LISTEN)

这里我们可以看到,80端口被Apache服务(httpd)占用了。

2. 使用netstat命令查找

另一个查找服务的工具是netstat命令。netstat用于查看网络连接状态和统计信息,也可以查找正在使用的端口。以下是使用netstat查找服务的方法:

sudo netstat -an | grep :80 | grep LISTEN

执行该命令后,会列出使用80端口的服务的详细信息,包括服务的地址、状态等等。如下所示:

tcp6  0  0 :::80     :::*     LISTEN     

这里我们可以看到,80端口被一个服务(状态为LISTEN)占用了。如果服务的名称没有被列出来,可以通过查看服务的PID来确定该服务的名称,如下所示:

sudo ps -ef | grep PID
3. 使用fuser命令查找

fuser命令也可以用来查找正在使用的端口。以下是使用fuser查找服务的方法:

sudo fuser 80/tcp

执行该命令后,会列出使用80端口的服务的详细信息,包括服务的PID等等。如下所示:

80/tcp:      13531 13532 13533

这里我们可以看到,80端口被进程号为13531、13532和13533的服务占用了。

通过以上三种方法,我们可以很方便地查找哪个服务正在使用端口80,以便我们进行相关操作。