「systemctl daemon-reload」は何をしますか?


46

突然停止したサービスがあります。そのサービスを再起動しようとしましたが、失敗し、「systemctl daemon-reload」を実行するように要求されました。

それは正確に何をしますか?「デーモンのリロード」とは何ですか?

回答:


47

man systemctlのコメント:

   daemon-reload
       Reload systemd manager configuration. This will rerun all generators (see systemd.generator(7)), reload
       all unit files, and recreate the entire dependency tree. While the daemon is being reloaded, all sockets
       systemd listens on behalf of user configuration will stay accessible.

       This command should not be confused with the reload command.

したがって、本質的に「ソフト」リロードです。ファイルシステムから変更された構成を取得し、依存関係ツリーを再生成します

その結果、systemd.generator次のようになります。

ジェネレータは、/ usr / lib / systemd / user-generators /および上記のその他のディレクトリにある小さなバイナリです。systemd(1)は、ブートアップ時および構成の再ロード時(ユニットファイルがロードされる前)にこれらのバイナリを実行します。ジェネレーターは、ユニットファイルを動的に生成するか、ユニットファイルへのシンボリックリンクを作成して依存関係を追加し、既存の定義を拡張またはオーバーライドできます。主な目的は、ネイティブユニットファイルではない構成ファイルをネイティブユニットファイルに動的に変換することです。

   Generators are loaded from a set of paths determined during compilation, listed above. System and user
   generators are loaded from directories with names ending in system-generators/ and user-generators/,
   respectively. Generators found in directories listed earlier override the ones with the same name in
   directories lower in the list. A symlink to /dev/null or an empty file can be used to mask a generator,
   thereby preventing it from running. Please note that the order of the two directories with the highest
   priority is reversed with respect to the unit load path and generators in /run overwrite those in /etc.

   After installing new generators or updating the configuration, systemctl daemon-reload may be executed. This
   will delete the previous configuration created by generators, re-run all generators, and cause systemd to
   reload units from disk. See systemctl(1) for more information.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.