2016-07-07 5 views
2

yocto 기반 Linux 장치에서 시작할 때 Java 응용 프로그램을 실행하려고합니다. /etc/init.d/etic에 스크립트를 추가하고 실행 가능하게 만들었습니다. 쉘 /etc/init.d/etic start 또는 /etc/init.d/etic stop을 호출하면 응용 프로그램이 예상대로 중지되었다가 시작됩니다. 그런 다음 쉘 update-rc.d etic defaults을 호출했고 심볼릭 링크가 만들어졌습니다. 웹에서 찾은 바에 따르면이 정도면 충분하지만 어쨌든 응용 프로그램이 시작되지는 않습니다. 내가 놓친 게 무엇입니까? 무엇이 잘못 되었는가를 어떻게 확인할 수 있습니까? 아니면 확장 할 수있는 최소한의 예가 있습니까?리눅스 시작시 스크립트 시작

+1

심볼릭 링크가 생성되면 충분합니다. init 스크립트가 무슨 일이 일어나고 있는지 기록하십시오. 어쩌면 PATH가 sysvinit을 사용하여 실행할 때 올바르게/완전히 설정되지 않았습니까? – Anders

+0

앱에 UI가 있습니까? – jku

+0

@Anders 내 로그의 어떤 로그를 의미합니까? 경로에서 java가 사용되면서'PATH = $ PATH :/usr/java/bin'을 스크립트에 추가했습니다. – Semaphor

답변

1

종종 이러한 문제는 init 스크립트가 init 시스템에서 실행될 때와 비교하여 수동으로 시작 스크립트를 실행할 때 환경이 다르기 때문에 발생합니다. 예를 들어 .profile.bashrc은 init 시스템에서 실행할 때 소스가되지 않습니다.

예를 들어 logger을 사용하면 init 스크립트의 내용을 쉽게 기록 할 수 있습니다. 그러면 쉽게 잘못된 점을 쉽게 찾을 수 있습니다.