units unit scripts script create systemd

scripts - units systemd



¿Cuál es la diferencia entre Systemd Service Type oneshot y simple? (2)

Desde el punto de vista de systemd, Type=simple es una especie de fuego y olvido. Systemd simplemente ExecStart= un proceso definido en ExecStart= y sigue su camino, incluso si el proceso no se inicia.

¿Cuál es la diferencia entre el Type servicio systemd oneshot y simple ? Este link indica que se debe usar simple lugar de un solo oneshot para los temporizadores. No soy capaz de entenderlo correctamente.


La unidad de servicio Type=oneshot :

  • los bloques en una operación de inicio hasta que sale el primer proceso, y su estado se informará como "activándose";

  • una vez que sale el primer proceso, se pasa de "activar" directamente a "inactivo", a menos que se establezca RemainAfterExit=true (¡en cuyo caso se convierte en "activo" sin procesos!);

  • puede tener cualquier número (0 o más) de directivas ExecStart= que se ejecutarán de forma secuencial (en espera de que se inicie cada proceso iniciado antes de iniciar el siguiente);

  • puede omitir ExecStart= pero tiene ExecStop= (útil junto con RemainAfterExit=true para organizar que las cosas se ejecuten en el cierre del sistema).

El Type=simple unidad de servicio Type=simple :

  • no se bloquea en una operación de inicio (es decir, se vuelve "activa" inmediatamente después de apagar el primer proceso, incluso si aún se está inicializando);

  • una vez que el primer proceso sale, las transiciones de "activo" a "inactivo" (no hay opción RemainAfterExit= );

  • en general, se desaconseja porque no hay manera de distinguir situaciones como "salido en el inicio debido a un error de configuración" de "falla después de 500 ms de tiempo de ejecución" y similares.

Ambos Type=oneshot y Type=simple unidades Type=simple :

  • ignore los elementos secundarios del primer proceso, así que no use estos modos con procesos de forking (nota: puede usar Type=oneshot con KillMode=none , pero solo haga esto si sabe lo que está haciendo ).