如何停止守护进程 OpenVPN 连接?

如何停止守护进程 OpenVPN 连接?

我开始与 建立 VPN 连接sudo openvpn --daemon --config connection.ovpn。有没有一种方法可以终止此连接,ps而无需自行搜索进程然后再进行搜索kill

答案1

由于 OpenVPN 似乎没有为此提供任何自己的功能,因此您可能正在寻找pkill <process-name>,它将搜索全部匹配给定名称的进程,并杀死它们。

如果您正在运行多个实例,但只想终止特定实例,则该-f选项允许您匹配包括参数在内的完整进程调用,例如pkill -f "openvpn --config connection.ovpn"

ps x查看或的输出pgrep -lf <process-name>(与 相同pkill,但不会杀死它们,因此本质上类似于ps | grep <name>)以找出守护进程启动时使用的参数。

答案2

https://openvpn.net/community-resources/how-to/

控制正在运行的 OpenVPN 进程在 Linux/BSD/Unix 上运行

OpenVPN 接受多种信号:

SIGUSR1 — Conditional restart, designed to restart without root privileges
SIGHUP — Hard restart
SIGUSR2 — Output connection statistics to log file or syslog
SIGTERM, SIGINT — Exit

使用 writepid 指令将 OpenVPN 守护进程的 PID 写入文件,以便您知道将信号发送到哪里(如果您使用 initscript 启动 openvpn,该脚本可能已经在 openvpn 命令行上传递了 –writepid 指令)。

所以,你应该使用kill命令,并使用arg -writepid启动openvpn。

答案3

不,您需要终止该进程。公平地说,守护进程管理脚本就可以做到这一点。您可以使用 pgrep 或 pkill 让您的生活更轻松。

答案4

sudo openvpn3 session-manage --disconnect --config $'client'.ovpn

将 client 替换为相应的名称。这将关闭会话。

相关内容