Tengo algunos scripts: collection.sh
start.sh
script1.sh
y script2.sh
. Los tengo configurados para ejecutarse en el momento del arranque para que:
collection.sh
llamadasstart.sh
start.sh
llama a ambosscript?.sh
La colección está configurada por lo siguiente:
$ cp collection.sh /etc/init.d/
$ update-rc.d collection.sh defaults 99
Si ejecuto collection.sh manualmente (es decir $ . /etc/init.d/collection.sh
), todo funciona como se esperaba, pero si reinicio o apago por completo e inicio la computadora, entonces collection.sh se ejecuta pero start.sh nunca se ejecuta.
Para aclarar, aquí hay un ejemplo de cómo se ve 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
He impreso declaraciones que han confirmado que collection.sh
comienza (dos veces en realidad) y start.sh
nunca comienza.
También lo he confirmado, el uso ps aux | grep collection.sh
de eso collection.sh
se completa.
Respuesta1
Es posible que tengas problemas con las rutas.
cambie la RUTA en start.sh o use rutas completas en start.sh para iniciar el script[12].sh
No mencionas qué distribución estás usando (cada una es ligeramente diferente); un enfoque de mazo a veces consiste en poner líneas en /etc/rc.local.