Ubuntu Upstart에서 서비스를 만드는 방법 java -jar abc.jar터미널 에 입력하여 실행할

java -jar abc.jar터미널 에 입력하여 실행할 수있는 Java 실행 프로그램이 있습니다 . 서비스로 어떻게 실행할 수 있습니까? 을 입력하는 것과 같은 서비스로 실행하고 싶습니다 service abc start.



답변

14.04에 있는지 확인하십시오. Ubuntu 16.04 이상은 Upstart가 아닌 systemd를 사용합니다.

Upstart 스크립트는에 배치 /etc/init/되고 끝나는 스크립트 파일 입니다 .conf.

시작 시간을 나타내는 섹션과 실행 명령이있는 섹션이 필요합니다.

샘플로 시작하는 가장 쉬운 스크립트는 다음과 같습니다.

# myprogram.conf
start on filesystem
exec /usr/bin/java -jar /path_to/program

아래에 루트로 작성되었습니다 /etc/init/myprogram.conf.

스크립트에 둘 이상의 명령 행이 필요한 경우 행 script대신 섹션을 사용하십시오 exec.

# myprogram.conf
start on filesystem
script
    /usr/bin/java -jar /path_to/program
    echo "Another command"
end script

서비스에서 bash 완료를 사용하려면 /etc/init.d폴더에 심볼릭 링크를 추가하십시오 .

sudo ln -s /etc/init/myprogram.conf /etc/init.d/myprogram

그런 다음 시작하고 중지하십시오.

sudo service myprogram start

upstart cookbook 에 따르면 실행할 pre-start/ post-startpre-stop/ post-stop명령을 만들 수 있습니다 .

또한 프로세스가 실행 중인지 확인하고 싶습니다. 이 질문을 확인 하고 pre-start섹션을 사용 하십시오.


답변

가동을 시작해야합니다. http://upstart.ubuntu.com/getting-started.html

Upstart는 좋은 ols SysV init 스크립트와 비교하여 (IMHO) 재앙입니다. 업 스타트는 추가 된 작업에 대한 거꾸로 적은 노력으로 더 많은 노력을 기울입니다. 그 말로, 나는 명백한 ;-)를 진술하는 나를 위해 임무를 수행 할 몇 명의 신생 수비수가있을 것이라고 생각합니다.


답변