initctl se comunica con un demonio de inicio Upstart en ejecución. Úsalo únicamente después de confirmar que el espacio de nombres de PID correspondiente ejecuta realmente Upstart; en una máquina actual con systemd, utiliza las herramientas nativas de systemd.
Init · Lección 4
Trabajos de Upstart
Aprende a inspeccionar y controlar trabajos con `initctl` en un sistema antiguo que se haya confirmado que usa Upstart.
Listar e interpretar el estado de los trabajos
Lista los trabajos y las instancias conocidas:
$ initctl list
Inspecciona un trabajo:
$ initctl status networking
networking start/running
Upstart informa tanto de un objetivo, como start o stop, como de un estado actual, como running o waiting. stop/waiting significa que el trabajo no se está ejecutando y espera una condición de inicio o una solicitud manual; no indica necesariamente un error.
¿Qué suele significar stop/waiting en la salida de estado de Upstart?
Iniciar y detener un trabajo
Después de revisar las dependencias y el impacto:
$ sudo initctl start JOB_NAME
$ sudo initctl stop JOB_NAME
Los trabajos pueden definir varias instancias identificadas mediante variables de entorno. En ese caso, proporciona exactamente las variables que exige la configuración e inclúyelas de forma coherente al consultar o detener una instancia. Iniciar trabajos de red, almacenamiento, autenticación o acceso remoto puede interrumpir la sesión, así que conserva una vía de recuperación desde la consola.
¿Qué comando solicita manualmente que se inicie el trabajo peanuts?
Reinicios y cambios de configuración
Solicita el reinicio de un trabajo que ya está en ejecución con:
$ sudo initctl restart peanuts
En Upstart, restart no siempre equivale a ejecutar un stop nuevo seguido de start después de editar un archivo de trabajo: la configuración existente del trabajo en ejecución puede seguir prevaleciendo. Valida el archivo .conf modificado, pide a Upstart que vuelva a cargar la configuración según la versión instalada y sigue el procedimiento documentado de detención e inicio cuando la nueva configuración deba entrar en vigor.
Un reinicio provoca una interrupción y puede no conseguir que el servicio vuelva a funcionar. Comprueba después el punto de acceso real y los registros.
¿Qué comando solicita reiniciar el trabajo de Upstart peanuts que está en ejecución?
Validar la configuración de un trabajo
Antes de instalar un archivo de trabajo modificado, usa la herramienta de validación que proporcione la distribución antigua, normalmente init-checkconf, y revisa los scripts incluidos, el entorno, los ajustes de usuario y grupo, la política de reaparición y las expresiones de eventos. Después, vuelve a cargar las definiciones mediante el flujo initctl reload-configuration apropiado para la versión.
La validación sintáctica no puede demostrar que las rutas existan, que las credenciales permitan la ejecución, que los eventos lleguen ni que el proceso quede disponible. Haz la prueba en un entorno que permita la recuperación.
¿Qué no puede demostrar la validación sintáctica de un trabajo?
Emitir eventos con cuidado
Upstart puede emitir un evento con nombre:
$ sudo initctl emit EVENT_NAME
Todos los trabajos cuya expresión de inicio o detención coincida pueden reaccionar. Un evento no va dirigido a un único trabajo, y sus efectos pueden propagarse mediante eventos posteriores. Inspecciona todas las configuraciones coincidentes antes de emitir un evento personalizado o del sistema; no reproduzcas despreocupadamente eventos esenciales del arranque en una máquina de producción.
¿Qué puede suceder cuando se ejecuta initctl emit EVENT_NAME?
Lección completada
Has completado Trabajos de Upstart
Ahora puedes operar trabajos de Upstart teniendo en cuenta explícitamente el estado y el alcance de los eventos.
Interpreta por separado el objetivo y el estado en la salida de
initctl.Inicia y detén la instancia exacta del trabajo después de revisar el impacto.
Trata el reinicio y los cambios en la configuración del trabajo como cuestiones distintas.
Valida la sintaxis y después comprueba la disponibilidad durante la ejecución.
Inspecciona todas las expresiones coincidentes antes de emitir un evento.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita