부팅시 리눅스 프로그램이 실행되지 않습니다

부팅시 리눅스 프로그램이 실행되지 않습니다

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

관련 정보