📌  相关文章
📜  如何在 ubuntu 中查找端口上运行的进程 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:52:36.538000             🧑  作者: Mango

如何在 Ubuntu 中查找端口上运行的进程

在Ubuntu中,可以使用多种方法来查找特定端口上运行的进程。以下是一些有效的方法:

方法一:使用lsof命令

lsof命令可以用来列出所有打开的文件和网络连接。在Ubuntu中,可以使用以下命令来查找特定端口上的进程:

sudo lsof -i :port_number

port_number 替换为要查找的端口号。例如,如果要查找端口号为80的进程,请使用:

sudo lsof -i :80

命令输出将列出所有使用该端口的进程,包括进程ID(PID)和进程名。例如:

COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
apache2  1213 www-data   4u  IPv6  29662      0t0  TCP *:http (LISTEN)
apache2 23228 www-data   4u  IPv6  29662      0t0  TCP *:http (LISTEN)
apache2 23229 www-data   4u  IPv6  29662      0t0  TCP *:http (LISTEN)
方法二:使用netstat命令

netstat命令可以用来显示当前系统的网络连接状态。在Ubuntu中,可以使用以下命令来查找特定端口上的进程:

sudo netstat -nlp | grep :port_number

port_number 替换为要查找的端口号。例如,如果要查找端口号为80的进程,请使用:

sudo netstat -nlp | grep :80

命令输出将列出所有使用该端口的进程,包括进程ID(PID)和进程名。例如:

tcp6       0      0 :::80                   :::*                    LISTEN      1213/apache2
方法三:使用fuser命令

fuser命令可以用来识别正在使用给定文件或文件系统的进程。在Ubuntu中,可以使用以下命令来查找特定端口上的进程:

sudo fuser -k -n tcp port_number

port_number 替换为要查找的端口号。例如,如果要查找端口号为80的进程,请使用:

sudo fuser -k -n tcp 80

如果有进程正在使用该端口,该命令将杀死该进程,并输出该进程的PID。例如:

80/tcp:             23228

以上是在Ubuntu中查找端口上运行的进程的三种方法。您可以根据自己的需要选择其中一种方法来使用。