在后台安全地长时间运行java进程

时间:2016-07-14 18:36:19

标签: java linux ssh jamvm

我有三个jar文件应该在嵌入式系统的后台运行。 我实际上通过ssh-session在jamvm -jar program.jar &上执行此操作。 但是jar文件在后台运行一天之后退出并且具有不可预测的行为。 在帖子中Linux: Prevent a background process from being stopped after closing SSH client 他们建议nohup command > /dev/null 2>&1 &,但我也有同样的行为。 我怎样才能安全地在后台运行jar文件? 如何确保jar文件是否退出以重新启动它?

1 个答案:

答案 0 :(得分:0)

Upstartsupervisorsystemd将为您运行一个进程,如果失败则重新启动它们。哪个可用取决于您的Linux发行版及其时代。也可能还有其他类似的服务。

来自systemd文档:

  

重新启动=

     

配置在服务进程退出,终止或超时时是否应重新启动服务。服务进程可以是主服务进程,但也可以是使用ExecStartPre =,ExecStartPost =,ExecStop =,ExecStopPost =或ExecReload =指定的进程之一。当进程死亡是系统操作(例如服务停止或重新启动)的结果时,服务将不会重新启动。超时包括错过看门狗“keep-alive ping”截止日期以及服务启动,重新加载和停止操作超时。