몇 가지 스크립트가 있습니다 . collection.sh
start.sh
script1.sh
그리고 script2.sh
시작 시 실행되도록 설정했습니다.
collection.sh
수신 전화start.sh
start.sh
둘 다 전화해script?.sh
컬렉션은 다음과 같이 구성됩니다.
$ cp collection.sh /etc/init.d/
$ update-rc.d collection.sh defaults 99
collection.sh를 수동으로 실행하면(예 $ . /etc/init.d/collection.sh
:) 모든 것이 예상대로 실행되지만 컴퓨터를 재부팅하거나 완전히 종료하고 시작하면 collection.sh는 실행되지만 start.sh는 실행되지 않습니다.
이를 명확히 하기 위해 각 스크립트의 예는 다음과 같습니다.
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
인쇄 문이 시작되는 것으로 확인되었지만 collection.sh
(실제로 두 번) start.sh
시작되지 않습니다.
ps aux | grep collection.sh
실제로 사용이 collection.sh
완료된 것도 확인했습니다.
답변1
경로 문제가 있을 수 있습니다.
start.sh에서 PATH를 변경하거나 start.sh의 전체 경로를 사용하여 script[12].sh를 시작하세요.
어떤 배포판을 사용하고 있는지 언급하지 않았습니다(모든 배포판은 약간 다릅니다). 큰 망치 접근 방식은 때때로 /etc/rc.local에 줄을 넣는 것입니다.