Execute o arranque depois de todos os outros scripts de inicialização terem iniciado

2

Estou executando uma instância do CentOS6 e tenho um trabalho inicial que depende de o sshd já estar em execução. No entanto, quando eu inicializo a caixa que o trabalho não consegue iniciar, eu estou supondo porque o sshd ainda não está sendo executado. Existe uma maneira de eu atrasar o início dos trabalhos até que todos os scripts de inicialização tenham sido iniciados?

    
por Mediocre Gopher 24.08.2013 / 16:57

3 respostas

4

Acabei descobrindo isso. O CentOS6 usa o upstart como seu programa de inicialização, mas um dos scripts que ele inicializa em /etc/init é rc.conf , que inicializa os scripts rc old-school. Então, se você precisa do seu programa para começar DEPOIS daqueles que você pode colocar:

start on started rc stop on stopped rc

no seu script inicial e você deve estar pronto.

    
por 24.08.2013 / 18:06
0

Você pode verificar o processo sshd com pidfile /var/run/sshd.pid no seu script para ter certeza de que está sendo executado.

  if [ -f /var/run/says.pid]; then
     "do what you want with your script"
  fi

Você pode colocar lógica dentro de onde você pode dormir depois de verificar o sshd se o pid ainda não estiver lá.

    
por 24.08.2013 / 17:27
0

Basta adicionar seu script ao /etc/rc.d/rc.local. Seu script será executado depois de todos os outros scripts de inicialização.

    
por 24.08.2013 / 18:44

Tags