我的 Ubuntu 上有几个服务器需要进行防重启守护进程。如何使用通用 init first 进程来实现这一点?我应该换成 upstart 还是其他替代品?
答案1
现有的系统初始化系统会很好地为您处理这个问题。 Ubuntu 有文档他们用这些做什么。是的,他们正在转向暴发户。
答案2
答案3
守护进程工具对于这种事情来说绝对很棒。KISS 级的简单、强大,并鼓励在相关领域(日志记录等)进行良好的实践。
答案4
守护进程:www.clapper.org/software/daemonize/ 可以通过将您的代码包装在执行前进行守护进程的 C 包装器中来处理这个问题。
您也可以简单地将它们添加到 /etc/inittab 中。很多人会(也许是正确的)说这是邪恶的,因为没有人会想到去那里看,我见过使用这种技术的生产系统,事实是它工作得很好。
也许您也可以研究一下 monit,它可以确保进程正在运行,并在必要时重新启动它们。但它是在考虑 Linux-HA 环境的情况下构建的。
通常我会为每个新进程手动创建一个新的 init 脚本,但我通常不会这样一次部署 4 或 5 个脚本。也许可以考虑一下它们的结构,并将它们放在一个 init 脚本下,这是它们提供的服务。