Answers:
尝试这个:
while true; do xterm && break; done
应用程序具有退出状态代码,因此,如果退出正常,则返回零...;如果出现错误,则抛出另一个数字。这使人们可以了解并找出确切的问题。这就是另一个答案正在做的事情。
&&
只需检查先前的命令是否为零状态出口,如果是,则中断循环。如果崩溃,它将抛出0以外的值,并且该&& ...
子句不会触发;它会简单地循环运行xterm
。
while xterm; do true; done
while ! xterm; do :; done
!
。
在这种while
情况下,您可以使用以下方法测试退出状态是否xterm
成功:
result=1
while [ $result -ne 0 ]; do
xterm
result=$?
done
$?
变量保存最后执行的命令的退出状态。
尝试使用Supervisor,它非常简单容易地添加要运行的程序或脚本。在您需要最小化的情况下command
,可能需要exitcodes
在programx-section中进行配置。
默认exitcodes
值为0.2,因此表示:
如果以没有在此列表中定义的退出代码退出,则超级用户将重新启动该过程
通常,您想要的是:如果脚本崩溃,请重新运行它;如果用户正确关闭了它,则不执行任何操作(或脚本成功完成了)
首先尝试最简单的配置:
[program:you_app_name]
command=/path/to/you/app
要获得更大的灵活性,请参阅配置文件文档。