Müssen System-Unit-Dateien beim Ändern neu geladen werden?
138
Nehmen wir an, ich schreibe eine mine.serviceDatei. Dann benutze ich systemctl enable mine.service.
Wenn ich mich später für eine Bearbeitung entscheide mine.service, muss ich dann mitteilen, systemddass dies mine.servicegeändert wurde? Wenn ja, wie mache ich das?
Nachdem Sie Änderungen an Ihrer Unit-Datei vorgenommen haben, sollten Sie systemctl daemon-reloadwie hier beschrieben ausführen .
daemon-reload
Lädt die Systemd Manager-Konfiguration neu. Dadurch werden alle Generatoren erneut ausgeführt (siehe systemd.generator (7) ), alle Einheitendateien neu geladen und der gesamte Abhängigkeitsbaum neu erstellt. Während der Daemon neu geladen wird, bleiben alle Sockets, die systemd im Auftrag der Benutzerkonfiguration abhört, zugänglich.
Sie können dann Ihren Dienst neu starten (oder neu laden), wie Sie möchten
systemctl restart your-service-name
(daemon-reload lädt die Dienste selbst nicht neu / startet sie nicht neu, macht systemd nur auf die neue Konfiguration aufmerksam)
Als Ergänzung zur obigen Antwort: Falls Sie etwas in der [Install]Direktive geändert haben , müssen Sie möglicherweise sudo systemctl reenable YOURUNITFILEausführen, um die Symlinks in den .target-Verzeichnissen neu zu erstellen.
systemctl restart
, um den Dienst selbst neu zu starten ...daemon-reload
ist nicht universell, musssystemctl --user daemon-reload
für Benutzerdienste ausgeführt werden.Als Ergänzung zur obigen Antwort: Falls Sie etwas in der
[Install]
Direktive geändert haben , müssen Sie möglicherweisesudo systemctl reenable YOURUNITFILE
ausführen, um die Symlinks in den .target-Verzeichnissen neu zu erstellen.quelle