📅  最后修改于: 2023-12-03 15:37:32.894000             🧑  作者: Mango
当我们在 Ubuntu 上启动一个服务或应用程序时,它会占用一个或多个端口。有时我们需要停止该服务或应用程序,我们可以手动杀死该进程。本文将介绍如何在 Ubuntu 中杀死一个端口进程,同时提供一些常用的命令和示例。
lsof 命令可以帮助我们查看当前端口的使用情况,以及哪些进程在使用它。
sudo lsof -i :端口号
例如,要查找正在使用端口号为 80 的进程,可以运行以下命令:
sudo lsof -i :80
输出结果类似于以下内容:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 12u IPv4 12345 0t0 TCP *:http (LISTEN)
nginx 1234 root 13u IPv6 12346 0t0 TCP *:http (LISTEN)
在此示例中,我们可以看到 PID 为 1234 的进程占用了端口号 80,其进程名为 nginx。
一旦确定了进程 ID,我们可以使用 kill 命令杀死该进程。
sudo kill 进程ID
例如,要杀死进程 ID 为 1234 的进程,可以运行以下命令:
sudo kill 1234
fuser 命令也可以用来查找哪个进程正在使用指定端口。
sudo fuser -n tcp 端口号
例如,要查找正在使用端口号为 80 的进程,可以运行以下命令:
sudo fuser -n tcp 80
输出结果类似于以下内容:
80/tcp: 1234
在此示例中,我们可以看到进程 ID 为 1234 的进程占用了端口号 80。
如果您需要一次性杀死所有使用指定端口的进程,那么 killall 命令可能是您需要的工具。
sudo killall -9 进程名
例如,要杀死所有进程名为 nginx 的进程,可以运行以下命令:
sudo killall -9 nginx
这会杀死所有正在运行的名为 nginx 的进程。
本文介绍了如何在 Ubuntu 中杀死一个端口进程。我们学习了如何使用 lsof、kill、fuser 和 killall 命令来查找、杀死或一次性杀死使用指定端口的进程。这些命令是在 Ubuntu 环境下工作时非常有用的工具。