
Ubuntu 14.04 서버에 배포할 Java 앱(JAR)에 대한 정상적인 시작/종료 스크립트(Bash)를 디자인하려고 합니다. 나는 다음과 같이 서버를 시작하는 깨끗하고 Linux 및 Ubuntu 친화적인 방법을 찾고 있습니다.
java -jar myapp.jar <lots off subsequent arguments>
그런 다음 종료 스크립트에서 JAR의 PID를 찾고 SIGSTOP을 실행하여 앱도 자체적으로 정상적인 종료를 수행하도록 한 다음 최종적으로 양호하고 준비되면 PID를 종료합니다.
나는 궁금했다upstart
그러한 사용 사례에 대한 좋은 후보가 될 수 있으며, 그렇다면 어떻게 해야 합니까? 그렇지 않으면 내가 취할 수 있는 다른 접근 방식은 무엇입니까?
답변1
SIGSTOP은 프로세스를 일시 중지하고 완전한 종료를 수행하지 않습니다. 대신 SIGTERM을 사용하세요.
다음은 Java 프로세스에 대한 시작 작업 초안입니다.
description "my java app"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec java -jar myapp.jar <arguments>
꽤 잘 작동할 겁니다.