如果它死于脚本,如何启动java进程

时间:2016-04-14 09:19:55

标签: linux bash

我有bash脚本使用以下命令启动java进程:

#!/bin/bash
java -jar test.jar

我想制作一个脚本,这样如果这个jar的java进程死掉,它将从这个脚本重新开始。我是否需要在我的脚本中执行while while循环以及我应该使用什么条件来检查这个jar的java进程是否正在运行,如果死掉则再次启动它。

2 个答案:

答案 0 :(得分:1)

使用bash直到循环,直到看到bash成功返回代码0

#!/bin/bash
until java -jar test.jar
do
   echo "Retrying Command.."
done

答案 1 :(得分:1)

以下内容将一直运行,直到test.jar退出,退出代码为

while ! java -jar test.jar; do :; done

故障:

while ! java -jar test.jar; do :; done
#     ^ ^                      ^
#     | |                      while loops needs a body, and `:` will do nothing
#     | The command to run, while will check the exit code and continue if its 0 (true) 
#     Flip the exit code, so true becomes false and false becomes true

如果您有兴趣在test.jar退出之前运行,那么我们可以省略!

while java -jar test.jar; do :; done