You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何终止以守护进程模式启动的OpenVPN连接?

无需手动查找进程即可终止OpenVPN守护进程的方法

当然可以不用手动ps找进程再杀!这里有几个更高效的方法:

  • 利用进程匹配直接终止
    你可以用pkill命令直接匹配启动时的命令行参数,精准定位到你的OpenVPN进程:

    sudo pkill -f "openvpn --config connection.ovpn"
    

    -f参数会匹配整个命令行字符串,这样就不会误杀其他OpenVPN进程(如果你同时运行了多个的话)。

  • 提前指定PID文件(推荐下次启动时使用)
    下次启动OpenVPN守护进程时,加上--writepid参数指定一个PID文件路径,比如:

    sudo openvpn --daemon --config connection.ovpn --writepid /var/run/openvpn-connection.pid
    

    之后要终止时,直接读取PID文件里的进程ID来杀死:

    sudo kill $(cat /var/run/openvpn-connection.pid)
    

    这种方法更严谨,也避免了匹配命令行可能出现的误差。

  • 使用管理套接字(适合需要更多控制的场景)
    启动时添加管理套接字参数,让OpenVPN监听一个Unix套接字:

    sudo openvpn --daemon --config connection.ovpn --management /var/run/openvpn-connection.sock unix
    

    之后可以通过socat向套接字发送终止信号:

    echo "signal SIGTERM" | sudo socat - /var/run/openvpn-connection.sock
    

    这种方法不仅能终止连接,还能执行其他管理操作(比如查看连接状态)。

如果你的OpenVPN是通过系统服务管理的(比如systemd),那直接用sudo systemctl stop openvpn@connection就行,但看你的启动方式是直接命令行启动守护进程,前面的方法更适用。

内容的提问来源于stack exchange,提问作者lofidevops

火山引擎 最新活动