web-dev-qa-db-fra.com

Les fichiers d'unité systemd doivent-ils être rechargés lorsqu'ils sont modifiés?

Disons que j'écris un mine.service fichier. Ensuite, j'utilise systemctl enable mine.service.

Si je décide par la suite de modifier mine.service, dois-je dire à systemd que mine.service a été changé? Si oui, comment dois-je procéder?

155
425nesp

Après avoir apporté des modifications à votre fichier d'unité, vous devez exécuter systemctl daemon-reload, comme indiqué ici .

rechargement du démon
Recharger la configuration du gestionnaire systemd. Cela va réexécuter tous les générateurs (voir systemd.generator (7) ), recharger tous les fichiers d'unité et recréer l'arborescence de dépendances entière. Pendant le rechargement du démon, tous les sockets systemd écoutent au nom de la configuration utilisateur resteront accessibles.

Vous pouvez ensuite redémarrer (ou recharger) votre service comme vous le souhaitez avec

systemctl restart your-service-name

(daemon-reload ne rechargera/ne redémarrera pas les services eux-mêmes, informera simplement systemd de la nouvelle configuration)

194
GregL

En complément de la réponse ci-dessus: au cas où vous auriez changé quelque chose dans le [Install] directive, vous devrez peut-être exécuter Sudo systemctl reenable YOURUNITFILE afin de recréer les liens symboliques dans les répertoires .target.

10
HomelessGamer