私は最初のシステムサービス(起動時に実行)を作成しています。
sudo systemctl daemon-reload
実行前にディレクトリに新しいサービスファイルを作成(変更していない)した後に実行する必要があるかどうかを混乱させます。/etc/systemd/system
sudo systemctl start ...
サービスを作成するインターネットで見つけたいくつかの例では、この内容が挙げられていますが、一部systemctl daemon-reload
ではそうではありません。
答え1
これが必要かどうかは、systemctl daemon-reload
サービスの仕組みによって異なります。マニュアルページからシステム制御(1)、
デーモンの再ロード
systemd 管理者構成を再ロードします。これにより、すべてのジェネレータが再度実行され(systemd.generator(7)を参照)、すべてのユニットファイルが再ロードされ、依存関係ツリー全体が再生成されます。
たとえば、サービスに依存関係や競合があるとします。それからを利用してくださいdaemon-reload
。簡単なサービスならこれは必要ないかもしれません。
enable
サービスを初めて使用すると、システム管理者の構成が再ロードされます。したがって、サービスをテストするために使用したい場合は、start
サービスが完了した後は必要ありません。daemon-reload
enable
同様に、systemctl(1) のマニュアルページから
UNITを有効にする...、PATHを有効にする...
これにより、指定されたユニットファイルの[Install]セクションにエンコードされた一連のシンボリックリンクが生成されます。シンボリックリンクが作成された後、変更がすぐに考慮されるように、システム管理者の設定が再ロードされます(デーモンの再ロードと同じ方法で)。
サービス単位ファイルを変更して再テストするには、daemon-reload
これらの変更に応じて行う必要があります。それにもかかわらず、を実行することは大丈夫でありdaemon-reload
、start
サービスを提供するときにそうするように求められることがあります。