2014-07-13 5 views
0

내가 같이 SBT 통해 조립 시작되는 응용 프로그램이 : 나는 Ctrl-C를을 타격하여 프로세스를 중지 할 수 있습니다조립 된 Scalatra 응용 프로그램을 중지하는 방법?

java -jar target/scala-2.10/evcat-assembly-0.0.1.jar 

을,하지만 난 그게 정상적인 종료 프로세스를 초기화 할 것인지 여부를 모르거나 아니. 내가 내 destroy() 메서드 (DB를 종료 등) 이외의 일부 로깅 루틴을 호출하기 때문에 궁금하네요,하지만 아무것도 키보드를 누르십시오 후에 보여줍니다.

내 앱을 안전하게 종료하는 표준 방법이 있습니까?

+0

이 질문은 관련이있을 수 : https://stackoverflow.com/questions/5719159/programmatic-jetty-shutdown 또한 https://stackoverflow.com/questions/4650713/jetty-stopping-programatically에 연결하는을 -causes-1-threads-could-be-stopped- – DNA

답변

0

동일한 문제가 있는데, "&"을 사용해야하므로 작업이 백그라운드에서 실행됩니다. 그 외, 프로세스 (pid)를 파일에 써서 죽일 수 있어야합니다. 우리가 사용한 것은 쉘 스크립트와 이것과 같은 코드입니다.

java -jar "$JAR_FILE" $OPTIONS >> "$LOG_FILE" 2>&1 & echo $! > "$PID" 
+0

확실히 프로세스를 죽일 수 있습니다. 데이터를 손상시키지 않고 응용 프로그램 수명주기 (특히 종료)를 방해하지 않는 방식으로이를 수행하는 방법에 대해 걱정하고 있습니다. – tkroman

관련 문제