GNU Shepherd 0.9.2 初始化系統發布

服務管理器 GNU Shepherd 0.9.2(以前的 dmd)已經發布,它是由 GNU Guix System 發行版的開發人員開發的,作為支援依賴關係的 SysV-init 初始化系統的替代方案。 Shepherd 控制守護程式和實用程式是用 Guile 語言(Scheme 語言的實作之一)編寫的,它也用於定義啟動服務的設定和參數。 Shepherd 已經在 GuixSD GNU/Linux 發行版中使用,並且也旨在在 GNU/Hurd 中使用,但可以在任何支援 Guile 語言的 POSIX 相容作業系統上運行。

Shepherd 透過考慮服務之間的關係,動態識別和啟動所選服務所依賴的服務來完成啟動和停止服務的工作。 Shepherd 還支援偵測服務之間的衝突並防止它們同時運作。 此專案既可以用作主初始化系統(PID為1的init),也可以以單獨的形式管理各個使用者的後台進程(例如,運行tor、privoxy、mcron等)並且具有執行權限這些使用者。

其中的變化:

  • Shepherd 中使用的檔案描述符現在標有 O_CLOEXEC(執行時關閉)標誌,而不是在執行 exec 命令時立即關閉,從而允許將句柄傳遞給由 exec 命令間接啟動的服務。
  • 客戶端連線現在以非阻塞方式處理,這可以防止 shepherd 在發送不完整的命令時掛起。
  • 確保為「日誌檔案」設定中定義的日誌檔案建立目錄(如果不存在)。

來源: opennet.ru

添加評論