2011-12-01 2 views
45

우분투에서 시스템을 부팅 할 때 백그라운드에서 일부 Java 프로그램을 실행하고 싶습니다. /etc/init.d 디렉토리에 스크립트를 추가하려했지만 프로그램을 시작하지 못했습니다. 즉 프로그램이 시작되지 않습니다. 그 일을 어떻게해야합니까?Ubuntu 시작시 스크립트를 실행하는 방법은 무엇입니까?

+1

http://askubuntu.com/ –

+1

으로 이동하거나 수퍼 유저로 이동 –

답변

69

우선 시작시 작업을 실행하는 가장 쉬운 방법은 파일 /etc/rc.local에 추가하는 것입니다.

또 다른 간단한 방법은 사용자의 crontab에 @reboot을 사용하는 것입니다. 자세한 내용은 cron 맨 페이지를 참조하십시오.

/etc/init.d에 스크립트를 추가하는 것 외에도 작업을 제대로 수행하려면 우분투에게 스크립트를 실행할 때와 매개 변수를 알려줘야합니다. 이 작업은 update-rc.d 명령을 사용하여 /etc/rc* 디렉토리의 일부에서 사용자의 스크립트로 심볼릭 링크를 만듭니다. 그래서, 당신은 같은 것을 할 필요가 거라고 :

update-rc.d yourscriptname start 2 

그러나, 실제 초기화 스크립트는 명령 줄 옵션의 다양한 처리하고 그렇지 않으면 시작 프로세스에 통합 할 수 있어야합니다. 파일 /etc/init.d/README에는 몇 가지 세부 정보와 추가 포인터가 있습니다.

+0

하지만 내 Java 파일은 어디에 배치해야합니까? 나는 무한 루프와 간단한 자바 프로그램을 만들었습니다. javac와 java 명령을 /etc/rc.local에 넣으면 시스템이 재부팅되었지만 프로그램이 실행되고 있지 않습니다. 어떻게해야할까요? –

+0

감사합니다. /etc/init.d에 서비스를 만들고 rc.local에서 서비스를 시작했습니다. –

+0

'rc-update'는 우분투에 존재하지 않습니다. 'update-rc.d start | NN 실행 레벨 [runlevel]'을 대신 사용하십시오. ''을 스크립트 이름으로 대체하고, 'NN'은 스크립트가 실행되는 순서 (지정된 런레벨 내에서)로 대체하십시오. 우분투/데비안의 실행 레벨에 대한 자세한 정보는 http://en.wikipedia.org/wiki/Runlevel#Debian_Linux를 참조하십시오 –