OpenVPN 斷開連線而不殺死進程

OpenVPN 斷開連線而不殺死進程

我在 ubuntu 上使用 OpenVPN,如下所示sudo openvpn --config vpnconfig.ovpn --daemon

我想知道有沒有辦法在不終止 OpenVPN 進程的情況下停止/中斷我啟動的 OpenVPN 連線?

答案1

有關控制 OpenVPN 進程的官方文檔非常清楚:你必須使用訊號。你通常會不是不過使用SIGKILL。

在 Linux 上,OpenVPN 接受以下訊號:

  • SIGUSR1-有條件重啟,設計為不需root權限即可重啟
  • SIGHUP——硬重啟
  • SIGUSR2 -- 將連線統計資料輸出到日誌檔案或系統日誌
  • SIGTERM、SIGINT——退出

您可以像 那樣發出它們kill -USR1 1234,其中 1234 是您要控制的進程的進程 ID。

如果進程連接到終端,只需按Ctrl+ C。這會將 SIGINT 傳送到前台進程。

如果您有多個 OpenVPN 進程以不受控制的方式在背景運行,也許可以考慮使用 Systemd 或類似的東西來管理這些進程。對於 Systemd,它們也可以是用戶服務。

如果那不是你喜歡的,你也可以使用類似的工具頂部使用命令列互動地識別進程,然後直接發送訊號。

文件中也提到了另一種可能性,即writepid /path/to/pid-file在 OpenVPN 設定檔內部或其--writepid /path/to/pid-file命令列上使用。然後您可以讀取該檔案以找出進程 ID。

相關內容