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

Linux 如果java进程死于脚本,如何启动它,linux,bash,Linux,Bash,我有bash脚本,可以使用以下命令启动java进程: #!/bin/bash java -jar test.jar 我想制作一个脚本,这样,如果这个jar的java进程死掉,它将从这个脚本重新开始。我的脚本中是否需要一个Do-while循环,我应该使用什么条件来检查这个jar的java进程是否正在运行,如果已死亡,则再次启动它。使用bash直到在循环中看到bash成功返回代码0 #!/bin/bash until java -jar test.jar do echo "Retrying

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

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

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

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

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

以下操作将一直运行,直到
test.jar
以0作为退出代码退出

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
exits将伪造退出代码,您可以省略

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

搜索脚本的退出状态
<代码>同时!java-jartest.jar;do:;“完成”将一直运行,直到
test.jar
退出,退出状态为0