2014-11-21 85 views
0

我有一個在DropWizard中開發的服務。我用這樣的nohup命令在AWS服務器上運行fat jar。有沒有辦法在nohup任務開始時發生通知?

nohup java -jar myapp-0.0.1-SNAPSHOT.jar server my-configure.yml > outfile & 

這工作正常。

但是,昨天我試圖使用使用該服務的應用程序,它不工作。當我登錄服務器時,我意識到服務不再運行。它已經跑了幾個月沒有任何問題。在日誌(OUTFILE)我只看到以下內容:

INFO [2014-11-13 19:48:31,978] org.eclipse.jetty.server.Server: Graceful shutdown [email protected]:9001 
INFO [2014-11-13 19:48:31,987] org.eclipse.jetty.server.Server: Graceful shutdown [email protected]:9000 
INFO [2014-11-13 19:48:31,988] org.eclipse.jetty.server.Server: Graceful shutdown o.e.j.s.ServletContextHandler{/,null} 
INFO [2014-11-13 19:48:31,988] org.eclipse.jetty.server.Server: Graceful shutdown o.e.j.s.ServletContextHandler{/,null} 

問題

  1. 我怎麼能解決,爲什麼服務停止運行...可以AWS服務器已經重啓?
  2. 是否有更好的方法可以做到這一點不容易像這些
  3. 錯誤有沒有一種方式,當該服務停止運行......而不是經常檢查它的每一個我可以通知...

編輯

剛纔檢查的AWS服務器正常運行時間和它說了7天。這與服務何時停止一致。我想解決方案是讓服務在服務器重啓時自動啓動。

回答

0

你可以看看the solution used here在程序關閉時給你一個通知。 雖然它不知道它是用nohup調用的,但這是shell的東西。但是一個Java解決方案可能適合你。

根據您的編輯,您可能需要創建一個init.d腳本來啓動(並停止)您的進程: 該模板用於該can be found here

相關問題