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

我有一个Nginx Web代理,gunicorn Web服务器和一个 python / flask web应用程序. Gunicorn进程显然已经死亡,我希望通过查看可以监视并重新启动gunicorn进程的实用程序来改善它,以便它再次崩溃.

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

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

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

解决方法

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

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

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...