我想在崩溃时可靠地重新启动我的应用程序和网络服务器进程。
如果我理解正确的话,runit 将每个服务都作为子进程启动。如果子进程崩溃,则会向父进程发送信号,父进程又会将该服务作为子进程重新生成。
在 upstart 的情况下,这如何工作?它是否也会像 runit 一样生成子进程?
我正在考虑使用 runit 来实现这一点。有必要这样做吗?还是 upstart 就足够了?
我使用 nginx 作为我的 Web 服务器,使用 gunicorn (python) 作为我的应用服务器。
答案1
Upstart 非常适合它,参见respawn
以下节:http://upstart.ubuntu.com/cookbook/#respawn。Upstart 是一个 init 进程,pid 为 1,是所有其他进程的父进程。