Como definir um trabalho do Upstart para iniciar manualmente?

15

Desejo desativar vários trabalhos iniciantes aqui. Eu sei como fazer um trabalho inicial. E também sei como parar manualmente um trabalho. No entanto, não consigo encontrar uma amostra em que eu transforme um trabalho automaticamente em um trabalho manual. Ou seja, eu quero que o trabalho seja iniciado somente quando o usuário ativar, por exemplo, executando este comando (como root):

  

service job-name start

    
por Marcos Roriz Junior 11.11.2010 / 17:45

4 respostas

9

Apenas para referência: Desde o upstart 0.6.7 (no Ubuntu desde o natty), há uma estrofe chamada manual projetado apenas para este propósito.

    
por MvG 04.07.2012 / 22:26
15

Exclua ou comente a parte start on (usando o sinal numérico '#'). Comentá-lo tem a vantagem de fácil recuperação do estado original.

    
por htorque 11.11.2010 / 18:17
5

Como mencionado por @MvG, há a sub-rotina manual que declara que um serviço upstart deve ser iniciado apenas manualmente.

Como root, coloque isso no arquivo .override em /etc/init/ correspondente ao nome do trabalho:

echo "manual" > /etc/init/${JOB-NAME}.override

ou usando o sudo:

echo "manual" | sudo tee /etc/init/${JOB-NAME}.override
    
por quazgar 19.02.2014 / 09:23
0

O Apache, por exemplo, não usa 'upstart'. Apache é o antigo link Sys V começando em rc2.d

A pista é quando um serviço está faltando, como: '/etc/init/apache2.conf'

Nesses casos, você precisa de boas técnicas antiquadas de SysV.

Um ponto de partida é: Procure por um README em /etc/init.d

Também existem ferramentas de GUI para tweeking de níveis de execução

Nota: o upstart está ficando depreciado e, eventualmente, as distros vão migrar para o systemd. Oh que divertido.

    
por EvadingGrid 13.12.2015 / 14:13

Tags