📜  杀死端口 linux 的流量 - Shell-Bash (1)

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

杀死端口 Linux 的流量 - Shell-Bash

简介

当我们需要停止某个端口的网络流量时,可以使用 Shell-Bash 脚本来实现。在 Linux 环境下,端口是通过进程来开启并监听网络连接的,因此关闭进程可以达到停止网络流量的目的。

实现

以下是一个简单的 Shell-Bash 脚本,通过输入端口号来杀掉该端口正在运行的进程:

#!/bin/bash
if [[ $# -eq 0 ]]; then
    echo "请输入要关闭的端口号"
    exit 1
fi

port=$1
echo "正在查找端口 ${port} 的进程"
pid=$(lsof -t -i:${port})
if [[ -z $pid ]]; then
    echo "该端口没有运行中的进程"
else
    kill -9 $pid
    echo "已经关闭端口 ${port} 的网络流量"
fi
解析
  • 第 2 行:开始编写 Shell-Bash 脚本,使用 #!/bin/bash 声明脚本使用的解释器为 Bash
  • 第 3~6 行:检查脚本是否有参数,如果没有参数则退出脚本并提示用户输入
  • 第 8 行:获取传入的端口号
  • 第 9 行:使用 lsof 命令来查找正在使用该端口的进程
  • 第 10 行:如果 $pid 为空则说明该端口没有正在运行的进程,输出提示信息
  • 第 12 行:如果 $pid 不为空,则使用 kill 命令杀死该进程,并输出成功提示信息

以上代码片段已按 markdown 格式进行标识。