如何在崩溃时自动重启jar文件

时间:2017-02-25 17:34:43

标签: executable executable-jar

我在一个包含其他文件的文件夹中有一个可执行jar文件,有时jar文件崩溃,有什么东西会在崩溃时自动重启文件因为我需要这个jar文件一直运行

2 个答案:

答案 0 :(得分:2)

例如,在bash中,您可以将进程包装到下一个脚本respawner.sh

#!/bin/bash

until "$@"; do
    echo "Process crashed with exit code $?.  Respawning.." >&2
    sleep 5
done

然后将其用作./respawner.sh java -jar yourJarfile.jar 如果Jvm崩溃,脚本将等待5秒钟并重新启动它。

答案 1 :(得分:0)

嗯,你应该做的第一件事是调查JVM崩溃的原因(它是Java虚拟机,你的java程序,而不是崩溃的JAR文件),它是如何崩溃的(例如你正在耗尽内存 - 有时正确调整JVM可能会减少甚至消除崩溃等。在你可以做到的程度上,你应该看看使用看门狗。监视程序是监视另一个程序并在失败时重新启动它的程序。请参阅this SO讨论。