VPN接続を確立することから始めましたsudo openvpn --daemon --config connection.ovpn
。ps
プロセスを直接検索してから再検索せずにこの接続を切断する方法はありますかkill
?
答え1
OpenVPNはそれに独自の機能を提供していないようですpkill <process-name>
。みんな指定された名前とプロセスを一致させて終了します。
複数のインスタンスを実行しているが特定のインスタンスのみを終了したい場合は、この-f
オプションを使用して、引数を含むプロセス全体の呼び出しを一致させることができますpkill -f "openvpn --config connection.ovpn"
。
ps x
デーモンがどのパラメータで始まったかを調べるには、orの出力を見てくださいpgrep -lf <process-name>
(と同じですpkill
が終了しないので、本質的に似ています)。ps | grep <name>
答え2
~からhttps://openvpn.net/community-resources/how-to/
Linux/BSD/UnixでのOpenVPNプロセス実行制御
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
クライアントを適切な名前に変更します。セッションが終了します。