J'ai écrit environ une demi-douzaine de .service
fichiers pour les différentes parties qui composent le système sur lequel je travaille. Il est utile de pouvoir démarrer l'ensemble du système au coup par coup, mais j'aimerais également avoir une seule unité qui démarre l'ensemble du système en un seul appel systemctl
.
Quelle est la meilleure façon de procéder?
WantedBy
clé dans la[Install]
section et noter une cible déjà existante. Par exemple, si vous souhaitez que vos services démarrent toujours avant que d'autres utilisateurs puissent se connecter, utilisezmulti-user.target
.Wants=
liste de tous les services semble suffisant pour démarrer , mais je n'arrive pas à trouver de moyen de faire fonctionner l' arrêt et le redémarrage en utilisant un type cible. Y a-t-il un type qui permet cela?.target
puisse être effectué à l'aideStopWhenUnneeded=yes
de chacun des.service
fichiers. superuser.com/questions/470153/….target
et pour arrêter j'utilisesystemctl stop foo.\*
(puisque tous les services impliqués ont des fichiers de service commençant par witfoo.
).Avez-vous essayé d'utiliser
PartOf
sur les sous-unités du groupe cible en plus deWants
la cible? Ex:PartOf=foo.target
enfoo-sub1.service
etWants=foo-sub1.service foo-sub2.service
enfoo.target
. J'ai juste essayé ceci et j'ai pu démarrer et arrêter toutes mes sous-unités simplement en démarrant et en arrêtant la cible.la source