进程终止后如何自动重启?

Del*_*ted 11 debian init.d debian-squeeze

我有一个 golang 程序,我想在它在 Debian Squeeze 框上终止后重新启动。事情是在 Apache 2 mod_proxy 设置后面提供 HTTP。我不希望这个过程失败,但我想有一些保险。

在 Ubuntu 上,我会使用 upstart 来保持进程的活跃。据我所知,Debian 不喜欢 Upstart,因为它是 init 的替代品。

有没有一种替代方法可以在一个或多个进程终止后重新启动它们,该进程在 Squeeze 上工作并与 init 一起玩得很好?

mai*_*ilq 10

最好的方法是daemontools. 它们允许您监视和重生进程。

请参阅其网站上的文档:http : //cr.yp.to/daemontools.html


小智 10

supervise是一种轻量级、高效的替代方案。在 debian 下,它被打包在daemontools 中。您也可以阅读这个相关问题,其中列出了一些监督批评,并提到重新启动作为另一种可能性。

最后,如果你想要一些非常容易设置的东西,我在monit 上取得了巨大的成功。它也打包在 Debian 中

  • daemontools 很棒;monit 是一个可怕的噩梦,“你为什么不开始?!?” 挫折。 (2认同)