Eu tenho alguns scripts: collection.sh
start.sh
script1.sh
e script2.sh
. Eu os configurei para serem executados no momento da inicialização, para que:
collection.sh
chamadasstart.sh
start.sh
liga para os doisscript?.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á conforme o esperado, mas se eu reiniciar ou desligar completamente e iniciar o computador, o collection.sh será executado, mas o start.sh nunca será executado.
Para esclarecer, aqui está um exemplo da aparência de cada script:
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
Tenho declarações de impressão que confirmaram que collection.sh
inicia (na verdade, duas vezes) e start.sh
nunca inicia.
Eu também confirmei, usando ps aux | grep collection.sh
isso collection.sh
é concluído.
Responder1
Você pode ter problemas com caminhos.
altere 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 uma é um pouco diferente) - uma abordagem de marreta às vezes coloca linhas em /etc/rc.local.