Usar exec
para iniciar o processo é bom, mas ao interrompê-lo, se você absolutamente precisar executar um script ou conjunto de comandos específico, poderá usar a pre-stop
estrofe.
pre-stop exec shutdown.sh
Suponho que você tenha tentado apenas usar uma estrofe executiva e ela não funcionou, possivelmente porque seu daemon requer alguma limpeza especializada. Observe que os daemons bem comportados devem receber um sinal inicial quando a tarefa for interrompida e, se eles manipularem o sinal adequadamente, nenhuma limpeza adicional será necessária.
Parar um trabalho envolve enviar o SIGTERM para ele. Se houver algo que precise ser feito antes do SIGTERM, faça-o aqui. Indiscutivelmente, os serviços devem lidar com o SIGTERM com muita graciosidade, portanto isso não deve ser necessário.
se houver algo crítico, como uma descarga para o disco e aumentar o tempo limite de interrupção não for uma opção, a pré-parada não é um mau lugar para fazer isso
Leia também esta seção para obter todo o fluxo de trabalho do que acontece quando você interrompe um trabalho. Observe quando a pré-parada é executada e como um sinal é enviado ao processo posteriormente, e é assim que o iniciante lida com a interrupção dos trabalhos normalmente.
Minha fonte é o livro oficial de receitas Upstart em: http://upstart.ubuntu.com/cookbook/