je saurais s'il est possible de créer un service avec le même script démarré avec différents paramètres d'entrée. Tel que:
[Unit]
Description=script description
[Service]
Type=simple
ExecStart=/script.py parameters1
ExecStart=/script.py parameters2
Restart=on-failure
[Install]
WantedBy=multi-user.target
c'est possible? alors il sera lancé en mode série? ou dans deux processus différents? Meilleures salutations
si _Type=simple
_ dans votre fichier d'unité, vous ne pouvez spécifier qu'un seul ExecStart, mais vous pouvez ajouter autant de _ExecStartPre,
_ ExecStartPost`, mais rien de tout cela ne convient aux commandes longues, car elles sont exécutées en série et tout le reste. start est tué avant de commencer le suivant.
Si _Type=oneshot
_, vous pouvez spécifier plusieurs ExecStart, ils s'exécutent en série et non en parallèle.
Si vous voulez faire fonctionner plusieurs unités en parallèle, voici ce que vous pouvez faire:
Vous pouvez utiliser des unités de modèle pour créer un _/etc/systemd/system/[email protected]
_. NOTE: (le _@
_ est important).
_[Unit]
Description=script description %I
[Service]
Type=simple
ExecStart=/script.py %i
Restart=on-failure
[Install]
WantedBy=multi-user.target
_
Et puis vous exécutez:
_$ systemctl start [email protected] [email protected]
_
ou...
Vous pouvez créer plusieurs unités liées à une seule cible:
_#/etc/systemd/system/bar.target
[Unit]
Description=bar target
Requires=multi-user.target
After=multi-user.target
AllowIsolate=yes
_
Et ensuite, vous modifiez simplement vos unités de service pour qu'elles soient _WantedBy=bar.target
_ comme:
_#/etc/systemd/system/[email protected]
[Unit]
Description=script description %I
[Service]
Type=simple
ExecStart=/script.py %i
Restart=on-failure
[Install]
WantedBy=bar.target
_
Ensuite, vous activez simplement les services foo que vous voulez en parallèle et démarrez la cible de la barre comme ceci:
_$ systemctl daemon-reload
$ systemctl enable [email protected]
$ systemctl enable [email protected]
$ systemctl start bar.target
_
NOTE: que cela fonctionne avec n'importe quel type d'unités et pas seulement des unités modèles.
Vous pouvez utiliser ExecStartPre
ou ExecStartPost
pour l’un des scripts
[Unit]
Description=script description
[Service]
Type=simple
ExecStartPre=/script.py parameters1
ExecStart=/script.py parameters2
Restart=on-failure
[Install]
WantedBy=multi-user.target