一次性关闭多个端口进程:Bash脚本轻松搞定!

发表时间: 2023-11-03 07:00

当我们需要杀死多个端口的进程时,手动一个个杀进程是非常繁琐的。但是,使用 Bash 脚本可以自动化这个过程,帮助我们一次性杀死多个端口的进程。本文将介绍如何使用 Bash 脚本来实现这个功能。

代码解析:

我们可以使用以下的 Bash 脚本来实现一次性杀死多个端口的进程:

#!/bin/bash# 检查是否输入了端口号if [[ $# -eq 0 ]]; then    echo '请指定要杀死的端口号'    exit 1fi# 循环遍历输入的每个端口号for PORT in "$@"; do    # 检查端口是否被占用    PID=$(lsof -i :$PORT | awk 'NR==2{print }')    if [[ ! -n $PID ]]; then        echo "找不到端口 $PORT"    else        # 杀死进程        echo "杀死端口 $PORT 对应的进程 $PID"        kill -9 $PID    fidone

把上面代码保存到文件kill_ports.sh,让我们来详细解释一下这段代码的关键部分。

首先,我们通过检查命令行参数的数量来确定是否输入了要杀死的端口号。如果没有输入,则会输出提示信息并退出脚本。

然后,我们使用一个循环来遍历输入的每个端口号。在循环内部,我们使用 `lsof` 命令来检查指定端口是否被占用。通过管道将 `lsof` 的输出传递给 `awk` 命令,我们可以提取出进程 ID。

接下来,我们检查进程 ID 是否存在。如果不存在,则说明该端口没有对应的进程,我们会输出相应的提示信息。

最后,如果进程 ID 存在,我们使用 `kill` 命令向该进程发送 SIGKILL 信号,从而强制终止该进程的运行。

bash脚本

使用示例:

假设我们要杀死端口号为 8080 和 9000 的进程,我们可以在命令行中输入以下命令:

bash kill_ports.sh 8080 9000

这将执行脚本,并尝试杀死这两个端口对应的进程。脚本会输出相应的提示信息,告诉我们成功杀死了哪些进程。

总结:

使用 Bash 脚本一次性杀死多个端口的进程可以提高我们的效率。这个脚本简单易用,并且可以根据需要进行修改和扩展。无论是在开发环境还是生产环境中,都可以使用这个脚本来管理端口和进程。

希望本文能够帮助你学习如何使用 Bash 脚本一次性杀死多个端口的进程。你可以在自己的环境中尝试使用这个脚本,并根据需要进行修改和定制。如果你对 Bash 脚本感兴趣,可以进一步学习和探索其它有用的功能和技巧。

希望你能够从本文中获得帮助,如果有任何问题或反馈,请随时在评论区留言。

精彩回顾:

DaisyUI与Tailwind:简化前端开发的终极组合

掌握Tailwind CSS,让你的前端开发更高效!

Node.js、Deno和Bun:JavaScript世界的三巨头,你了解吗?


不积跬步,无以至千里;不积小流,无以成江海。

关注黑客之家,一起学习进步!