GNU Shepherd 0.8 init システムのリリース

利用可能 サービスマネージャ GNUシェパード0.8 (元DMD)、これは、SysV-init 初期化システムの依存関係を認識した代替手段として、GNU Guix System ディストリビューションの開発者によって開発されています。 Shepherd コントロール デーモンとユーティリティは、Guile 言語 (Scheme 言語の実装の XNUMX つ) で書かれています。この言語は、サービスを起動するための設定とパラメータを定義するためにも使用されます。 Shepherd はすでに GuixSD GNU/Linux ディストリビューションで使用されており、GNU/Hurd での使用も目的としていますが、Guile 言語が利用可能な POSIX 準拠の OS 上で実行できます。

Shepherd は、メインの初期化システム (PID 1 の init) として使用することも、別の形式で個別のユーザーのバックグラウンド プロセスを管理する (たとえば、tor、privoxy、mcron などを実行する) 権限で実行することもできます。これらのユーザー。 Shepherd は、サービス間の関係を考慮して、選択したサービスが依存するサービスを動的に識別して開始することによって、サービスの開始と停止の作業を実行します。 Shepherd は、サービス間の競合の検出と、サービスの同時実行の防止もサポートしています。

主な革新:

  • Make-kill-destructor は、プロセスのグループの強制終了を実装します。
  • PID ファイル作成の待ち時間を決定するパラメータ「default-pid-file-timeout」を追加しました。
  • タイムアウト内に PID ファイルが表示されない場合、プロセス グループ全体が終了します (決定 問題 PID ファイルのないワークプロセスを残します)。
  • 「#:file-creation-mask」パラメータを「make-forkexec-constructor」に追加し、ログファイルの作成を実装し、古い呼び出し規約のサポートを停止しました。
  • GNU/Hurd など、prctl を使用しないシステムでのコンパイルに関する問題を解決しました。
  • SIGALRM が毎秒送信される問題を修正しました。

出所: オープンネット.ru

コメントを追加します