¿Hay alguna manera de systemd
decirme el orden aproximado en que cerrará los servicios cuando apague todo el sistema de manera limpia? Dado systemd
que cerrará las cosas en paralelo, agradezco que no haya forma de saber el orden exacto, pero aún sería muy útil saber qué restricciones systemd
impondrán en la secuencia de apagado, preferiblemente en algún tipo de visualización que sea fácil de entender.
La motivación es que para el desarrollo y la depuración de archivos de servicio, sería mucho más conveniente obtener esta lista predicha por adelantado, en lugar de tener que hacer un apagado real y luego reiniciar e inspeccionar los registros cada vez que quiera determinar qué impacto tendrá un cambio en un archivo de unidad de servicio o algún otro aspecto de la configuración de systemd en la orden de apagado.
Esperaba que algo así
systemctl list-dependencies --before shutdown.service
haría el trabajo, pero solo emite:
shutdown.service
fuente
shutdown.target
asíshutdown.service
. Sin embargo, esto todavía no me da la lista ordenada que solicité, sino que me da una lista muy corta, o incluso una lista vacía en algunos sistemas.systemctl list-dependencies --after shutdown.target
... al menos eso encontrará todo lo que el primer comando no encuentra. También es confuso porqueshutdown.target
está comenzando , pero todas las demás unidades se están deteniendo , y en este caso no importa si tiene un pedido "antes" o "después"; la detención se realiza antes del inicio en ambos casos.El orden de apagado suele ser el reverso del orden de inicio.
Dicho esto, a todos los demonios se les envía una señal de apagado, y tomará diferentes cantidades de tiempo para apagarse y salir.
Dejando a systemd simple, no creo que sea factible predecir útilmente qué servicios saldrán en qué secuencia. Además, las dependencias controlarán algunas secuencias.
fuente