Systemd has this great feature :
file: foo@.service
contains the definition, as usual, with "%i"
=> will replace anything in the service file
for example:
systemctl start foo@bar.service
systemctl start foo@resto.service
=> will start service foo@bar and foo@resto
but if resto does not make a valid service, it fails and can't be easily removed from the list of apparently formerly existing services.
(cf. for example https://bbs.archlinux.org/viewtopic.php?id=286912&p=1 )
As you can see with the command :
systemctl list-units --type=service | grep 'foo'
UNIT LOAD ACTIVE SUB DESCRIPTION
foo@alpha.service loaded active running Foo for protocol alpha
● foo@lish.service masked failed failed foo@lish.service
=> Solution (on ubuntu, but no reason it does not work elsewhere)
systemctl mask foo@resto.service #this creates a symlink / replaces the symlink with one pointing to /dev/null, and marks the service as failed => no restart will happen again
systemctl reset-failed # cleans failed services
Aucun commentaire:
Enregistrer un commentaire