4. Empregos Upstart

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

Entre para salvar seu progresso de aprendizado

Entrar

Exercícios

A prática leva à perfeição! Embora não existam laboratórios específicos para Upstart, entender como agendar e gerenciar tarefas é crucial para controlar processos do sistema. Aqui está um laboratório prático para reforçar sua compreensão do gerenciamento de tarefas:

  1. Agendar Tarefas com at e cron no Linux - Pratique a criação, gerenciamento e remoção de jobs únicos e recorrentes, que são conceitos fundamentais relacionados à forma como serviços e tarefas são gerenciados em ambientes Linux como os tratados pelo Upstart.

Este laboratório ajudará você a aplicar os conceitos de automação de tarefas em cenários reais e a ganhar confiança no gerenciamento de operações do sistema.

Questionário

Como você reiniciaria manualmente um job Upstart chamado `peanuts`? Por favor, forneça o comando completo. (Nota: A resposta diferencia maiúsculas de minúsculas e deve estar em inglês.)