Como o Ubuntu conta com o upstart já há algum tempo, eu gostaria de usar um trabalho inicial para encerrar normalmente certos aplicativos no desligamento ou reinicialização do sistema. É essencial que o desligamento ou reinicialização do sistema seja interrompido até que esses aplicativos sejam desligados.
Os aplicativos serão iniciados manualmente ocasionalmente e o desligamento do sistema deve ser encerrado automaticamente por um script (que eu já tenho). Como os aplicativos não podem ser finalizados de maneira confiável sem (quase todos) outros serviços em execução, o término dos aplicativos deve ser feito antes que o restante do desligamento comece.
Penso que posso resolver isso através de um trabalho inicial que será acionado no encerramento, mas não tenho certeza de quais eventos devo usar de que maneira. Até agora, li as seguintes declarações (parcialmente contraditórias):
- Não há evento de desligamento geral no iniciante
- Use uma estrofe como
start on starting shutdown
na definição de tarefa - Use uma estrofe como
start on runlevel [06S]
na definição de tarefa - Use uma estrofe como
start on starting runlevel [06S]
na definição de tarefa - Use uma estrofe como
start on stopping runlevel [!06S]
na definição de tarefa
A partir dessas recomendações, surgem as seguintes perguntas:
- Existe ou não um evento de desligamento geral no inicio do Ubuntu?
- Qual é a maneira recomendada de implementar um "gancho de desligamento"?
- Quando os eventos no nível de execução [x] são acionados; é isso ao entrar no nível de execução ou ao entrar no nível de execução?
- Podemos usar algo como
start on starting runlevel [x]
oustart on stopping runlevel [x]
? - Qual seria a melhor solução para o meu problema?
Muito obrigado
startup
evento distinto é que algo é necessário para "escorvar a bomba". Depois que um evento privilegiado é enviado, tudo o mais pode ser e é definido pelos trabalhos e tarefas acionados porstartup
. Quanto a não haver um únicoshutdown
evento, existem muitos tipos diferentesshutdown
para que isso seja significativo. É melhor depender diretamente dos trabalhos que você precisa executar.