O Upstart é um sistema init baseado em eventos usado em algumas distribuições upstart linux para gerenciar serviços e tarefas durante a inicialização e enquanto o sistema está em execução. Ele opera através de um sistema de jobs (tarefas) e eventos. Embora rastrear a origem de cada evento possa ser complexo, muitas vezes exigindo que você explore as configurações de jobs em /etc/init, você mais comumente precisará gerenciar esses jobs diretamente da linha de comando. O utilitário initctl fornece um conjunto de comandos para esse fim.
Visualizando o Status do Job
Para ver uma lista de todos os jobs Upstart conhecidos e seus estados atuais, use o comando list.
initctl list
shutdown stop/waiting
console stop/waiting
...
A saída exibe o nome do job, seu objetivo (goal) e seu status atual. No exemplo shutdown stop/waiting, o nome do job é shutdown, seu objetivo é stop e seu status atual é waiting. O status e os objetivos do job mudarão conforme você interage com eles.
Para verificar o status de um job específico, use o comando status.
initctl status networking
networking start/running
Controlando Jobs Manualmente
Embora os arquivos de configuração de jobs em /etc/init definam como os jobs iniciam, param e interagem com eventos, você pode anular manualmente essas ações usando initctl. Isso é útil para solução de problemas ou para realizar tarefas administrativas.
Para iniciar um job manualmente:
sudo initctl start networking
Para parar um job manualmente:
sudo initctl stop networking
Para reiniciar um job manualmente, que é um atalho conveniente para pará-lo e depois iniciá-lo:
sudo initctl restart networking
Emitindo Eventos Personalizados
Jobs Upstart são acionados por eventos. Você também pode "emitir" um evento manualmente, o que pode ser útil para acionar jobs personalizados ou para fins de teste. Qualquer job configurado para iniciar em some_event seria acionado pelo seguinte comando.
sudo initctl emit some_event