1

我有三个 jar 文件,它们应该在嵌入式系统的后台永远运行。我实际上是jamvm -jar program.jar &通过一个 ssh 会话来做到这一点的。但是 jar 文件在后台运行一天后退出并且具有不可预测的行为。在帖子Linux:阻止后台进程在关闭 他们建议的 SSH 客户端后停止nohup command > /dev/null 2>&1 &,但我也有相同的行为。我如何才能永远在后台安全地运行 jar 文件?如何确保 jar 文件退出以重新启动它?

4

1 回答 1

0

Upstartsupervisorsystemd将为您运行一个进程并在它们失败时重新启动它们。哪些可用取决于您的 Linux 发行版及其年龄。可能还有其他类似的服务。

从 systemd 文档:

重启=

配置在服务进程退出、被杀死或达到超时时是否应重新启动服务。服务进程可能是主服务进程,但也可能是使用 ExecStartPre=、ExecStartPost=、ExecStop=、ExecStopPost= 或 ExecReload= 指定的进程之一。当进程死亡是由于 systemd 操作(例如服务停止或重新启动)而导致的,服务将不会重新启动。超时包括错过看门狗“keep-alive ping”最后期限以及服务启动、重新加载和停止操作超时。

于 2016-07-14T18:42:13.343 回答