Bash 需要重新启动失败的后台进程外壳脚本

Bash 需要重新启动失败的后台进程外壳脚本,bash,process,restart,Bash,Process,Restart,我一直在处理的Bash脚本在后台调用了一些进程。我在父Bash脚本中使用了“wait”来等待所有后台进程完成。 运行良好 但是,问题在于重新启动。我希望,如果任何子进程结束,应该重新开始。我尝试了使用While进行永久循环,并使用pgrep检查流程状态,然后发出restart。但这将消耗资源 是否有其他可能在子后台进程停止/终止/终止后立即重新启动它?不要重新发明轮子,请使用with--respawn 你也应该考虑选项可接受的< /代码>,代码>尝试和 >延迟< /代码>,以确保BUGGY进程不

我一直在处理的Bash脚本在后台调用了一些进程。我在父Bash脚本中使用了“wait”来等待所有后台进程完成。 运行良好

但是,问题在于重新启动。我希望,如果任何子进程结束,应该重新开始。我尝试了使用While进行永久循环,并使用pgrep检查流程状态,然后发出restart。但这将消耗资源


是否有其他可能在子后台进程停止/终止/终止后立即重新启动它?

不要重新发明轮子,请使用with
--respawn


你也应该考虑选项<代码>可接受的< /代码>,代码>尝试和 >延迟< /代码>,以确保BUGGY进程不会引起无尽的重生循环(例如,当它们由于错误的命令行选项而立即死亡)。

< P>不要重新创建轮子,使用“使用<代码> -Reavunn < < /P>

你也应该考虑选项<代码>——可接受的< /代码>,代码>尝试< <代码> >代码> -> <代码>,以确保BUGGY进程不会引起无尽的重生循环(例如,当它们由于错误的命令行选项而立即死亡).

使用
wait
有什么问题?可能相关:使用
wait
有什么问题?可能相关:守护程序命令选项看起来不错。我正在尝试使用它,但仍然不清楚如何使用它:daemon--name processname-X executable-c/configurationfileneedbyexecutable/不起作用。我已经解决了。谢谢你,亚伦。工作
-c
用于
守护进程,而不是用于要启动的进程。如果需要将参数传递给可执行文件,则必须将其包装在脚本中。daemon命令选项看起来不错。我正在尝试使用它,但仍然不清楚如何使用它:daemon--name processname-X executable-c/configurationfileneedbyexecutable/不起作用。我已经解决了。谢谢你,亚伦。工作
-c
用于
守护进程,而不是用于要启动的进程。如果需要向可执行文件传递参数,则必须将其包装在脚本中。