【发布时间】:2008-11-18 13:48:42
【问题描述】:
我正在尝试确保脚本在开发服务器上保持运行。它整理统计数据并提供 Web 服务,因此它应该会持续存在,但一天有几次,它会因未知原因而死掉。当我们注意到我们只是再次启动它时,它是一个痛苦的背后,一些用户没有权限(或专有技术)来启动它。
我的程序员想花几个小时来找出问题的根源,但我的忙碌者认为必须有一种简单的方法来检测应用程序是否未运行,然后重新启动它。
我知道我可以 cron-script ps 通过 grep:
ps -A | grep appname
但同样,我又浪费了一个小时来做一些必须已经存在的事情......难道没有一个预制的应用程序可以传递可执行文件(可选地带有参数)并且可以让进程无限期运行?
如果有什么不同,那就是 Ubuntu。
【问题讨论】:
-
这取决于脚本不运行时是否会丢失统计信息,但我认为你的程序员是对的 - 你应该了解更多关于为什么脚本不会无限期地继续。
-
它更像是一种按需服务实用程序,而不是不断处理数字的东西。如果它在保存数据之前崩溃,则不会丢失任何内容;它将在下次运行时完成工作。
-
问题已在Standard or best way to keep alive process started by init.d 得到解答。解决方案包括使用 systemd 和
/etc/inittab。
标签: linux