📅  最后修改于: 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
参数表示强制杀死进程。
现在,我们已经知道了如何通过 lsof
和 kill
命令来杀死指定端口的进程。但如果需要杀死所有正在使用的端口呢?
可以使用以下命令来杀死所有端口:
sudo kill -9 $(sudo lsof -t -i)
上述命令会首先使用 lsof
命令来列出所有正在使用的端口及其所属进程的 PID,然后将所有 PID 作为参数传递给 kill
命令,从而杀死所有端口的进程。
需要注意的是,使用 kill
命令需要管理员权限,因此需要在命令前添加 sudo
前缀。
在 Shell-Bash 中,可以使用 kill
命令来杀死指定进程,使用 lsof
命令来列出正在使用端口的进程。通过结合这两个命令,我们可以轻松地杀死指定或所有端口的进程。