Systemdデーモンが新しいサービスに再ロードされる

Systemdデーモンが新しいサービスに再ロードされる

私は最初のシステムサービス(起動時に実行)を作成しています。

sudo systemctl daemon-reload実行前にディレクトリに新しいサービスファイルを作成(変更していない)した後に実行する必要があるかどうかを混乱させます。/etc/systemd/systemsudo systemctl start ...

サービスを作成するインターネットで見つけたいくつかの例では、この内容が挙げられていますが、一部systemctl daemon-reloadではそうではありません。

答え1

これが必要かどうかは、systemctl daemon-reloadサービスの仕組みによって異なります。マニュアルページからシステム制御(1)

デーモンの再ロード

systemd 管理者構成を再ロードします。これにより、すべてのジェネレータが再度実行され(systemd.generator(7)を参照)、すべてのユニットファイルが再ロードされ、依存関係ツリー全体が再生成されます。

たとえば、サービスに依存関係や競合があるとします。それからを利用してくださいdaemon-reload。簡単なサービスならこれは必要ないかもしれません。

enableサービスを初めて使用すると、システム管理者の構成が再ロードされます。したがって、サービスをテストするために使用したい場合は、startサービスが完了した後は必要ありません。daemon-reloadenable

同様に、systemctl(1) のマニュアルページから

UNITを有効にする...、PATHを有効にする...

これにより、指定されたユニットファイルの[Install]セクションにエンコードされた一連のシンボリックリンクが生成されます。シンボリックリンクが作成された後、変更がすぐに考慮されるように、システム管理者の設定が再ロードされます(デーモンの再ロードと同じ方法で)。

サービス単位ファイルを変更して再テストするには、daemon-reloadこれらの変更に応じて行う必要があります。それにもかかわらず、を実行することは大丈夫でありdaemon-reloadstartサービスを提供するときにそうするように求められることがあります。

関連情報