我有bash脚本使用以下命令启动java进程:
#!/bin/bash
java -jar test.jar
我想制作一个脚本,这样如果这个jar的java进程死掉,它将从这个脚本重新开始。我是否需要在我的脚本中执行while while循环以及我应该使用什么条件来检查这个jar的java进程是否正在运行,如果死掉则再次启动它。
答案 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