📅  最后修改于: 2023-12-03 14:44:06.117000             🧑  作者: Mango
在开发时,时不时会遇到端口被占用的情况,此时需要通过查找进程来解决。本文将介绍在 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>
其中,
$ kill 1234
有时,我们也可以通过管道组合命令来得到所需的结果。例如,我们要查找占用 8080 端口的进程名称,可以使用以下命令:
$ lsof -iTCP:8080 | awk 'NR!=1 {print $1}'
该命令会返回占用 8080 端口的进程名称,即 node。
通过以上步骤,我们可以轻松地通过端口号查找进程,并结束占用端口的进程。