1

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

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

一旦子后台进程停止/杀死/终止,是否还有其他可能重新启动子后台进程?

4

1 回答 1

1

不要重新发明轮子,使用daemon 命令--respawn.

您还应该考虑 options --acceptable--attempts--delay确保错误的进程不会导致无休止的重生循环(例如,当它们由于错误的命令行选项而立即死亡时)。

于 2013-02-06T08:36:42.993 回答