web-dev-qa-db-ja.com

systemdユニットファイルは変更時に再ロードする必要がありますか?

mine.serviceファイルを作成するとします。次に、systemctl enable mine.serviceを使用します。

後でmine.serviceを編集することにした場合、systemdmine.serviceが変更されたことを通知する必要がありますか?もしそうなら、どうすればいいですか?

155
425nesp

ユニットファイルに変更を加えたら、概説したようにsystemctl daemon-reloadを実行する必要があります ここ

daemon-reload
systemdマネージャーの設定を再読み込みします。これにより、すべてのジェネレーターが再実行され( systemd.generator(7) を参照)、すべてのユニットファイルがリロードされ、依存関係ツリー全体が再作成されます。デーモンがリロードされている間、systemdがユーザー設定のためにリッスンするすべてのソケットはアクセス可能なままになります。

その後、必要に応じてサービスを再起動(またはリロード)できます

systemctl restart your-service-name

(daemon-reloadはサービス自体をリロード/再起動せず、systemdに新しい設定を認識させるだけです)

194
GregL

上記の回答への追加として:[Install]ディレクティブで何かを変更した場合、.targetディレクトリにシンボリックリンクを再作成するためにSudo systemctl reenable YOURUNITFILEを実行する必要がある場合があります。

10
HomelessGamer