【发布时间】:2014-02-28 10:51:31
【问题描述】:
我有一些 java 代码在树莓派(从终端)上连续运行,并监听 twitter 流并将数据保存到磁盘/usb。
我想知道检测程序是否仍在运行以便采取适当措施并尝试重新启动应用程序的首选方法是什么?
我希望通过这种方式我可以检测到程序失败,发送电子邮件通知我并尝试重新运行代码。在服务器环境中运行它是最好的方法吗?
【问题讨论】:
-
这取决于你的操作系统使用什么初始化系统;那是经典的 SysV 吗?还有什么?
-
请原谅,我对初始化系统不了解,也不了解它们之间的区别。我正在使用 Raspbian,经过一番研究,我认为它确实是 SysV,比如 Debian
-
如果是这样,那么您首先需要编写一个SysV init脚本;您至少需要实现
start、stop和status命令 -
您可以使用来自smarden.org/runit 的 runit -- google 说它已经打包在 raspbian 中,并且它完全按照您说的做(要发送电子邮件,您需要在与“运行”脚本相同的目录,请参阅 runsv 手册页或谷歌一些示例)