몇 가지 스크립트가 있습니다: 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에 줄을 넣는 것입니다.