Upstart es un sistema init basado en eventos utilizado en algunas distribuciones upstart linux para gestionar servicios y tareas durante el arranque y mientras el sistema está en ejecución. Opera a través de un sistema de trabajos (jobs) y eventos. Si bien rastrear el origen de cada evento puede ser complejo, a menudo requiere explorar las configuraciones de trabajos en /etc/init, es más común que necesite administrar estos trabajos directamente desde la línea de comandos. La utilidad initctl proporciona un conjunto de comandos para este propósito.
Ver el Estado de los Trabajos
Para ver una lista de todos los trabajos de Upstart conocidos y sus estados actuales, use el comando list.
initctl list
shutdown stop/waiting
console stop/waiting
...
La salida muestra el nombre del trabajo, su objetivo y su estado actual. En el ejemplo shutdown stop/waiting, el nombre del trabajo es shutdown, su objetivo es stop y su estado actual es waiting. El estado y los objetivos del trabajo cambiarán a medida que interactúe con ellos.
Para verificar el estado de un trabajo específico, use el comando status.
initctl status networking
networking start/running
Control Manual de Trabajos
Aunque los archivos de configuración de trabajos en /etc/init definen cómo inician, detienen e interactúan los trabajos con los eventos, puede anular manualmente estas acciones usando initctl. Esto es útil para la solución de problemas o para realizar tareas administrativas.
Para iniciar un trabajo manualmente:
sudo initctl start networking
Para detener un trabajo manualmente:
sudo initctl stop networking
Para reiniciar un trabajo manualmente, que es un atajo conveniente para detenerlo y luego iniciarlo:
sudo initctl restart networking
Emitir Eventos Personalizados
Los trabajos de Upstart se activan mediante eventos. También puede "emitir" manualmente un evento, lo que puede ser útil para activar trabajos personalizados o con fines de prueba. Cualquier trabajo configurado para iniciarse con some_event sería activado por el siguiente comando.
sudo initctl emit some_event