我有一个程序,我将其添加到 /etc/rc.local 中,让它在服务器启动时立即运行。问题是有时程序会停止响应,我需要重新启动它,但我无法重新启动服务器。我只能在晚上重新启动服务器,但程序有时会在白天死机。
答案1
不要直接放入rc.local
,正确的做法是放入一个脚本,/etc/init.d
该脚本将响应“start|stop|restart”来对程序的进程执行正确的操作,然后让系统通过 将其符号链接到 rc 目录中update-rc.d scriptname defaults
。
然后,使用service scriptname restart
重新启动它。
答案2
正如 Shane 所说,您需要创建一个 init 脚本来启动/停止/重新启动服务。至于程序没有响应,您需要先找到根本原因。您也可以使用 GODhttp://god.rubyforge.org/ 监视并自动重启程序(使用 rc.local 条目)
希望有所帮助。
答案3
Ubuntu 可能已经通过标准 rc 系统内置了这样的功能,但你可以在 Google 上搜索“ubuntu 守护进程健康监视器”等。我找到了一个名为监控您可以安装并配置它来检查您的进程,并在失败时重新启动它。