在ubuntu上使用upstart时,如何发出命令以启动作业(如果未运行)并重新启动(如果已运行)。将应用程序部署到新节点时,未定义作业。

initctl restart JOB complains if not already running
initctl start JOB complains if already running.


我可以编写脚本来做

initctl start JOB
initctl restart JOB


但这似乎并不是最好的事情。

最佳答案

我当时遇到了同样的问题。
缺少内置的initctl直接的“懒惰-停止-然后-开始”命令,我们必须编写脚本。

如果失败,则调用启动并重新启动:

initctl start JOB || initctl restart JOB


这个脚本可能不是我们两个人都在寻找的答案,但是它足够简短。

只要服务运行良好,就可以解决问题。

当服务失败时,此脚本失败两次;例如,如果服务已停止并且实际上无法启动,则它也将无法重新启动。

绝对希望对此有所改进。

我希望这有帮助。

关于upstart - UpStart initctl start |重启ubuntu,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9479668/

10-09 20:44