시작할 때 Linux 프로그램이 실행되지 않습니다

시작할 때 Linux 프로그램이 실행되지 않습니다

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

관련 정보