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.

17
demandé sur Karl Richter 2016-08-19 09:04:56

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=true est 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= mais ExecStop= (avec RemainAfterExit=true pour 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).
31
répondu intelfx 2018-05-02 19:12:10

à 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.

0
répondu Umut 2016-08-27 03:48:54