Quelle est la différence entre Systemd Type de Service oneshot et simple
Quelle est la différence entre systemd
service Type
oneshot
et simple
?
Cette lien les états à utiliser simple
au lieu de oneshot
pour le timer. Je ne suis pas capable de le comprendre correctement.
OriginalL'auteur Dinesh P.R. | 2016-08-19
Vous devez vous connecter pour publier un commentaire.
La
Type=oneshot
de l'unité de service:blocs sur une opération de démarrage jusqu'à ce que le premier processus s'arrête, et son état sera indiqué comme étant "l'activation";
une fois que le premier processus s'arrête, les transitions de "l'activation" droit à "inactif", à moins que
RemainAfterExit=true
est défini (dans ce cas, il devient "active" avec pas de processus!);peut avoir un numéro (0 ou plus) de
ExecStart=
des instructions qui seront exécutées de façon séquentielle (en attente de chaque a commencé le processus de sortie avant de commencer la suivante);peut laisser
ExecStart=
mais ontExecStop=
(utile avecRemainAfterExit=true
pour arranger les choses pour s'exécuter sur l'arrêt du système).La
Type=simple
de l'unité de service:ne bloque pas sur une opération de démarrage (j'. e. devient "active" immédiatement après la bifurcation de la première, même si elle est en cours d'initialisation!);
une fois que le premier processus s'arrête, les transitions de "actif" à l'état "inactif" (il n'y a pas de
RemainAfterExit=
option);est généralement déconseillée car il n'y a aucun moyen de distinguer des situations comme "sorti de sur démarrer en raison d'une erreur de configuration" à partir de "en panne après 500ms de l'exécution" et autres choses de ce genre.
Les deux
Type=oneshot
etType=simple
unités:Type=oneshot
avecKillMode=none
, mais faire cela seulement si vous savez ce que vous faites).Type=oneshot
de l'unité de service "peut avoir aucuneExecStart=
". Ce n'est pas vrai. En effet, des services de typeoneshot
peut avoir plusieursExecStart=
directives. Voir toute récente page de man poursystemd.service
pour plus d'informations.Pourquoi est-ce "pas vrai"? systemd.de service(5) dit
ExecStart=
: "Si Type= oneshot, une commande doit être donné. Quand le Type=oneshot est utilisée, zéro, une ou plusieurs commandes peuvent être spécifiées."acceptez que "peut avoir aucun" est source de confusion. ce n'est pas vrai. mais je pense que vous ne pouvez pas avoir
ExecReload
Par "peut avoir aucune" je suppose que @intelfx signifiait "peut avoir zéro, un ou plusieurs" ou "ne nécessite pas un," et non pas "ne peut pas en avoir." Cependant, la remanier pour plus de clarté serait d'aider les futurs lecteurs.
bon, reformulé pour plus de clarté
OriginalL'auteur intelfx
De systemd point de vue,
Type=simple
est une sorte de "tire et oublie". Systemd juste fourches d'un processus défini dans laExecStart=
et va sur son passage, même si le processus ne parvient pas à démarrer.Type=simple
processus sont encore surveillés par systemd, et sera redémarré en fonction de la valeur de laRestart
réglage.OriginalL'auteur Umut