Ubuntu Server: Executando processos no tempo de inicialização

2

Como faço para que os Servidores Ubuntu executem serviços no momento da inicialização, em uma ordem específica?

Eu li um pouco sobre Upstart , init.d e inittab , e não tenho certeza qual é a abordagem correta para fazer isso.

Obrigado,

Udi

    
por Adam Matan 05.08.2009 / 10:07

3 respostas

3

Procure no comando update-rc.d , que é a maneira padrão do Debian / Ubuntu de configurar o início e a interrupção dos serviços. O arquivo /etc/init.d/skeleton também é um ótimo modelo para criar seus próprios serviços rapidamente e com o comportamento correto.

    
por 05.08.2009 / 10:32
2

Além do upstart (sobre o qual não sei muito), a ordem é determinada por um número no diretório rcX.d (onde X é o nível de execução).

Normalmente, no Ubuntu, o uso normal é o nível de execução 2. Você coloca seu script em /etc/init.d/ e cria um link simbólico para /etc/rcX.d com a seguinte sintaxe:

  • S para iniciar ou K para parar o serviço
  • Um número de dois dígitos com a ordem de execução (quanto menor, quanto mais cedo)
  • O nome do script

Se o seu script for number42 , faça isso:

$ sudo cp number42 /etc/init.d
$ sudo ln -s /etc/init.d/number42 /etc/rc2.d/S99number42

Parar será o mesmo, mas com um K e no nível de execução 0 e 6.

sysv-rc-conf pode ajudá-lo a visualizar quais scripts são executados em qual runlevel .

sysv-rc-conf http: // ubuntu-tweak. com / wp-content / uploads / 2007/09 / sysv-rc-conf.png

    
por 05.08.2009 / 10:26
0

Você menciona em uma ordem específica, mas se quer dizer que tem vários processos e precisa que eles sejam executados em uma ordem especificada, mas após todos os outros processos de inicialização foram iniciados, pode pegar o caminho mais fácil e usar /etc/rc.local.

Coloque todos os seus comandos nesse arquivo na ordem que você especificar, ele será executado por / bin / sh depois que todos os outros processos de inicialização tiverem sido iniciados. Certifique-se de que seu processo seja removido ou anexe um & até o final de cada linha ou sua bota irá travar!

As soluções acima são mais robustas, desta forma é mais rápido e sujo.

    
por 05.08.2009 / 15:31