aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/vpn-disconnect/script.sh
blob: ead912c9612707bad829d3ceb33456d87d819742 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
PID_FILE="$HOME/.cache/openvpn/vpn.pid"

if [[ ! -f "$PID_FILE" ]]; then
    echo "No VPN PID file found."
    exit 1
fi

PID=$(cat "$PID_FILE")

if ps -p "$PID" > /dev/null 2>&1; then
    echo "Stopping VPN (PID: $PID)..."
    sudo kill "$PID"

    # Wait for clean shutdown
    sleep 2

    if ps -p "$PID" > /dev/null 2>&1; then
        echo "Force killing VPN..."
        sudo kill -9 "$PID"
    fi

    echo "VPN disconnected."
else
    echo "VPN process not running."
fi

rm -f "$PID_FILE"