2014-07-13 48 views
0

我有一個通過SBT組裝並推出這樣的應用程序:如何停止組裝Scalatra應用程序?

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

我可以通過敲擊按Ctrl-C停止進程,但我不知道這是否啓動正常關機過程或不。我想知道,因爲在我的destroy()方法中我調用(除了DB關閉等)一些日誌例程,但沒有顯示我敲擊鍵盤後。

那麼,有沒有一種標準的方式來安全地關閉我的應用程序?

+0

這個問題可能是相關的:https://stackoverflow.com/questions/5719159/programmatic-jetty-shutdown這也鏈接到https://stackoverflow.com/questions/4650713/jetty-stopping-programatically -causes-1-threads-could-be-stop – DNA

回答

0

我有同樣的問題,我認爲你需要使用「&」,所以這項工作將在後臺運行。除此之外,您需要將進程(pid)寫入文件中,以便可以殺死它。我們使用的是shell腳本和一些這樣的代碼。

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

我絕對可以殺死這個進程。我擔心的是如何以不會損害數據並且不會干擾應用程序生命週期的方式來執行此操作(特別是關機)。 – tkroman