pkill vpn 终止我的所有脚本

pkill vpn 终止我的所有脚本

我正在使用对话框 GUI。

./sdvpn.sh是 GUI 主菜单的代码,如下所示。

./killvpn.sh是仅包含一个命令的脚本,sudo pkill vpn

./region.sh是一个对话菜单,允许您指定您希望 VPN 连接的国家/地区。

什么时候我想要终止所有活动的 OpenVPN 连接,我在下面的菜单中选择选项2:

`#!/bin/bash

#Main Menu

HEIGHT=15
WIDTH=40
CHOICE_HEIGHT=4
BACKTITLE="VPN"
TITLE="Main Menu"
MENU="Choose an Option: "

OPTIONS=(1 "VPN Menu"
         2 "Kill Active VPN")

CHOICE=$(dialog --clear \
                --backtitle "$BACKTITLE" \
                --title "$TITLE" \
                --menu "$MENU" \
                $HEIGHT $WIDTH $CHOICE_HEIGHT \
                "${OPTIONS[@]}" \
                2>&1 >/dev/tty)

clear
case $CHOICE in
        1)
        cd ~/VPN/gui
        ./region.sh
        ;;
        2)
        cd ~/VPN/scripts
        ./killvpn.sh
        cd ~/VPN
        ./sdvpn.sh
        ;;

 esac`

选项 2 的代码应该实现以下目标:

  • 进入我的脚本目录
  • 执行sudo pkill vpn
  • 返回保存我的主要 menu.sh 的主文件夹
  • 运行主菜单,完成整个过程。

问题

它不会返回主菜单,我无法解决这个问题。同样的方法在 Kali Linux 2018.2 上完美运行。

当我执行sudo pkill vpn或我的killvpn.sh文件时,它会按预期终止 VPN 连接。但是,当从 Dialog GUI 运行同一脚本时,我收到一条消息,显示“已终止”。

我尝试重新路由killvpn.sh以激活对话框 GUI 作为其脚本的一部分,但出现了同样的问题。然后我尝试使用和sudo pkill vpnkillvpn.sh包含 sleep 命令,因为我只是返回到终端,并相信这是一个它可以执行以继续运行代码的过程,但这也失败了。

我现在无法从 GUI 中终止 VPN,我想知道是否有办法删除“已终止”消息,或者有办法完成我的任务。作为额外奖励,如果有人能向我解释在什么情况下会pkill vpn显示此消息,我将不胜感激,这样我以后就可以避免这种情况了。

答案1

在这种情况下,我发现使用该命令 sudo killall openvpn既是终止 OpenVPN 连接的更有效方法,又避免了出现对话框,sudo pkill vpn让我可以毫无问题地返回对话框菜单。

相关内容