📌  相关文章
📜  mac 终端通过端口查找进程 - Shell-Bash (1)

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

Mac 终端通过端口查找进程

在开发时,时不时会遇到端口被占用的情况,此时需要通过查找进程来解决。本文将介绍在 Mac 终端下如何通过端口号查找进程。

首先,我们需要打开 Mac 终端,使用以下命令查看端口使用情况:

$ lsof -iTCP -sTCP:LISTEN

该命令会返回所有正在监听的端口信息,类似以下格式:

COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google    346  username   75u  IPv4 0x8eafbxxxxxxx      0t0  TCP *:http-alt (LISTEN)

我们可以通过筛选相关端口来查找对应的进程。例如,如果我们想要查找 8080 端口对应的进程,可以使用以下命令:

$ lsof -iTCP:8080

该命令会返回 8080 端口正在使用的进程信息,类似以下格式:

COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    1234  username   20u  IPv6 0x8eafcxxxxxxx      0t0  TCP *:http-alt (LISTEN)

其中,COMMAND 列为进程名称,PID 列为进程 ID。如上例所示,8080 端口正在使用的进程是 node,进程 ID 为 1234。

接着,我们可以使用以下命令结束对应的进程:

$ kill <PID>

其中, 为进程 ID。例如,我们要结束 PID 为 1234 的进程,可以使用以下命令:

$ kill 1234

有时,我们也可以通过管道组合命令来得到所需的结果。例如,我们要查找占用 8080 端口的进程名称,可以使用以下命令:

$ lsof -iTCP:8080 | awk 'NR!=1 {print $1}'

该命令会返回占用 8080 端口的进程名称,即 node。

通过以上步骤,我们可以轻松地通过端口号查找进程,并结束占用端口的进程。