2014-11-21 81 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

相关问题