我如何在upstart,runit,supervisor,daemontools等之间进行选择,以便在程序死亡时重新启动它?

前端之家收集整理的这篇文章主要介绍了我如何在upstart,runit,supervisor,daemontools等之间进行选择,以便在程序死亡时重新启动它?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Nginx Web代理,gunicorn Web服务器和一个 python / flask web应用程序. Gunicorn进程显然已经死亡,我希望通过查看可以监视并重新启动gunicorn进程的实用程序来改善它,以便它再次崩溃.

我找到了几个可以完成这项工作的人:

>新贵
> runit
>主管
> daemontools
>还有更多

是否有一篇全面的文章比较和对比用于监控和重启流程的各种实用程序?

解决方法

如果您的发行版使用Upstart,请使用它.它对作业重启具有非常基本的支持,但包括可以阻止重启循环的限制,如@EEAA所述.

如果您的操作系统使用其他init程序,请不要更改它.我不能真正帮助你使用你提到的其他工具,因为我通常使用Ubuntu,其中Upstart仍然存在(截至最新的LTS),所以我与它们几乎没有关系.但是创建一个简单的脚本并不是一项艰巨的任务,该脚本每分钟从cron运行一次(或者更频繁地在一个循环中运行),这可以检查PID是否存在并在失败时发出重启.

猜你在找的Linux相关文章