📜  杀死所有端口 mac - Shell-Bash (1)

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

杀死所有端口

在 Shell-Bash 中,我们可以使用 kill 命令来杀死指定进程。而对于端口,可以使用 lsof 命令来列出正在使用该端口的进程,然后再使用 kill 命令来杀死进程。

列出端口占用情况

使用以下命令来列出所有正在使用 8080 端口的进程:

lsof -i :8080

输出示例:

COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    2101  user   34u  IPv6 0x12f5abd3bfb50d0f      0t0  TCP *:http-alt (LISTEN)

上述命令的输出结果显示了使用 8080 端口的进程的命令、进程 ID、使用者以及端口协议等信息。

杀死进程

可以使用以下命令来杀死上述进程:

kill -9 2101

其中,-9 参数表示强制杀死进程。

杀死所有端口

现在,我们已经知道了如何通过 lsofkill 命令来杀死指定端口的进程。但如果需要杀死所有正在使用的端口呢?

可以使用以下命令来杀死所有端口:

sudo kill -9 $(sudo lsof -t -i)

上述命令会首先使用 lsof 命令来列出所有正在使用的端口及其所属进程的 PID,然后将所有 PID 作为参数传递给 kill 命令,从而杀死所有端口的进程。

需要注意的是,使用 kill 命令需要管理员权限,因此需要在命令前添加 sudo 前缀。

总结

在 Shell-Bash 中,可以使用 kill 命令来杀死指定进程,使用 lsof 命令来列出正在使用端口的进程。通过结合这两个命令,我们可以轻松地杀死指定或所有端口的进程。