programa linux não está sendo executado no momento da inicialização

0

Eu tenho alguns scripts: collection.sh start.sh script1.sh e script2.sh . Eu tenho estes configurado para executar no momento da inicialização para que:

  • collection.sh chamadas start.sh
  • start.sh chama ambos script?.sh
A coleção

é configurada da seguinte forma:

$ cp collection.sh /etc/init.d/
$ update-rc.d collection.sh defaults 99

Se eu executar o collection.sh manualmente (ou seja, $ . /etc/init.d/collection.sh ), tudo funcionará como esperado, mas se eu reiniciar ou fizer um desligamento completo e iniciar o computador, o collection.sh será executado, mas o start.sh nunca será executado.

Para esclarecer, aqui está um exemplo de como cada script se parece:

  • collection.sh :

    . /path/to/start.sh &
    
  • start.sh :

    ./script1.sh &
    ./script2.sh &
    
  • script1.sh/script2.sh :

    while :
    do
        #does some stuff here
        #yes this is an infinite loop
    done
    

Eu tenho instruções de impressão que confirmaram que collection.sh começa (duas vezes, na verdade) e start.sh nunca inicia.

Eu também confirmei, usando ps aux | grep collection.sh que collection.sh completa.

    
por JDOdle 14.02.2016 / 20:08

1 resposta

0

Você pode ter problemas com os caminhos.

altere o PATH em start.sh ou use caminhos completos em start.sh para iniciar o script [12] .sh

Você não menciona qual distribuição está usando (cada um é um pouco diferente) - uma abordagem de marreta às vezes está colocando linhas em /etc/rc.local.

    
por 14.02.2016 / 21:45