プロセスを終了せずに OpenVPN を切断する

プロセスを終了せずに OpenVPN を切断する

私はUbuntuでOpenVPNをこのように使用していますsudo openvpn --config vpnconfig.ovpn --daemon

OpenVPN プロセスを終了せずに、開始した OpenVPN 接続を停止/切断する方法はありますか?

答え1

OpenVPN プロセスの制御に関する公式ドキュメントかなり明確です。信号を使用する必要があります。通常はないただし、SIGKILL を使用してください。

Linux では、OpenVPN は次のシグナルを受け入れます。

  • SIGUSR1 - ルート権限なしで再起動するように設計された条件付き再起動
  • SIGHUP -- ハード再起動
  • SIGUSR2 -- 接続統計をログファイルまたは syslog に出力します
  • SIGTERM、SIGINT -- 終了

のように発行しますkill -USR1 1234。ここで、1234 は制御するプロセスのプロセス ID です。

プロセスがターミナルに接続されている場合は、Ctrl+を押すだけですC。これにより、フォアグラウンド プロセスに SIGINT が送信されます。

複数の OpenVPN プロセスがバックグラウンドで制御されずに実行されている場合は、Systemd などを使用してこれらのプロセスを管理することを検討してください。Systemd では、これらをユーザー サービスにすることもできます。

もしそれがあなたの好みでなければ、次のようなツールを使うこともできます。hトップコマンドラインを使用してプロセスを対話的に識別し、直接シグナルを送信します。

ドキュメントにも記載されているもう 1 つの可能性は、writepid /path/to/pid-fileOpenVPN 構成ファイル内または--writepid /path/to/pid-fileそのコマンド ラインで使用することです。その後、このファイルを読み取ってプロセス ID を確認します。

関連情報