Quelle est la différence entre le type de service Systemd oneshot et simple
Quelle est la différence entre systemd service Typeoneshot et simple?
Ce lien les états à utiliser simple au lieu de oneshot pour le timer. Je ne suis pas capable de le comprendre correctement.
2 réponses
Type=oneshot Unité de service:
bloque sur une opération de démarrage jusqu'à la sortie du premier processus, et son état sera signalé comme "activant";
une fois le premier processus terminé, les transitions "activant" directement vers "inactif", sauf si
RemainAfterExit=trueest défini (auquel cas il devient "actif" sans processus!);peut avoir n'importe quel nombre (0 ou plus)
ExecStart=instructions qui seront exécutées de manière séquentielle (en attente de chaque a commencé le processus de sortie avant de commencer la suivante);risque de laisser de côté
ExecStart=maisExecStop=(avecRemainAfterExit=truepour l'organisation des choses à exécuter sur l'arrêt du système).
Type=simple Unité de service:
ne bloque pas lors d'une opération de démarrage (I. E. devient "actif" immédiatement après la bifurcation du premier processus, même s'il est encore l'initialisation!);
une fois le premier processus terminé, transitions de "actif" à "inactif" (il n'y a pas de
RemainAfterExit=option);est généralement déconseillé parce qu'il n'y a aucun moyen de distinguer les situations comme "sorti au départ à cause d'une erreur de configuration" de "écrasé après 500ms d'exécution" et ainsi de suite.
Type=oneshot et Type=simple unités:
- ignorez tout enfant de la premier processus, donc n'utilisez pas ces modes avec les processus de bifurcation (note: vous pouvez utiliser
Type=oneshotKillMode=none,mais faire cela seulement si vous savez ce que vous faites).
à Partir de systemd point de vue, Type=simple est une sorte de feu et d'oubli. Systemd ne fait que bifurquer un processus défini dans ExecStart= et poursuit sa route, même si le processus ne démarre pas.