Process-Management

程序管理 - 從 CLI 添加守護程序

  • November 4, 2015

我正在尋找可以從 CLI 控制(添加、啟動、停止、刪除)的程序管理器,因此我可以以程式方式控制它。

我試過使用https://github.com/circus-tent/circus,但問題是當我從 CLI 添加它時,伺服器重啟後程序消失了。我在那裡打開了一個問題;https://github.com/circus-tent/circus/issues/937。我還沒有嘗試過 Supervisord,但它似乎有同樣的問題,https://github.com/mnaberez/supervisor_twiddler/issues/4

是否有任何程序管理器可以從 CLI 添加守護程序,並且更改在重新啟動後仍然存在,而無需觸及配置文件?謝謝。

我在 Centos 7 上,我想為每個註冊使用者守護一個 PHP CLI 腳本。

抱歉,我不確定如何更好地解釋這一點。我有一個具有無限循環的 PHP CLI 腳本。該腳本正在執行以收聽新的傳入消息。該腳本應在新註冊使用者上啟動,例如php listen.php --user_id=111,並在刪除使用者時停止。

我為此推薦的軟體包daemontools由 Dan Bernstein 呼叫。

這是一組提供系統範圍的服務監督和管理服務的工具。它不僅關心啟動和停止服務,而且在服務守護程序執行時對其進行監督。除此之外,它提供了一個可靠的介面來向服務守護程序發送信號,而不需要 pid 文件,以及一個具有自動日誌文件輪換和磁碟空間限制的日誌工具。

它滿足您的所有要求。它非常可靠,一旦您設置並了解如何使用它,它幾乎不需要維護。如果您的系統有問題,則不會是 daemontools。

  1. 所有控制都是通過命令行。
  2. 守護程序將在系統重新啟動時重新啟動。
  3. 可以從 CLI 停止、啟動、停止、掛起守護程序。
  4. 另外,也處理每個守護程序的日誌記錄。
  5. 它管理快速重啟(當程序快速死亡時)。

這個包和底層設計是堅如磐石的。原始碼多年來沒有改變,但不要讓它愚弄你。它不需要改變,因為它是正確的。

我個人使用這個包來可靠地控制一台機器上的數百個守護程序。

配置新客戶端很簡單,只要在指定目錄下放一個控製文件,它就會自動啟動並永遠重啟,除非你干預。一旦你知道文件應該是什麼樣子,你就可以製作一個模板或一種方法來參數化控製文件的創建。

我認為您最好的選擇是從 github 上的 kteru 獲取 RPM 源包,並從中建構您自己的 RPM。它很容易建構,但 RPM 將使管理和複製您的系統變得更容易。

首頁和文件位於http://cr.yp.to/daemontools.html

CentOS 4-7 RPM 源碼包可在 github 上獲得: https ://github.com/kteru/daemontools-rpm

還有一個包runit,我認為它是一個分支,daemontools沒有一些許可和分發限制,daemontools並且具有更靈活的目錄佈局策略。它在 Debian 儲存庫中,我不知道 CentOS。

引用自:https://unix.stackexchange.com/questions/240455