Total Pageviews

Monday, 11 March 2013

使用daemontools确保指定进程的运行

一、关于daemontools
此daemontools非windows中的虚拟光驱Daemon Tools,而是一个源于BSD的进程管理工具包,顾名思义,就是对daemon进行管理的tools。
虽然daemontools中包含了很多工具,但最核心最常用的莫过于supervise,它负责检测指定进程的运行状态,如果此进程停止了,则重新启动之。
二、安装与使用
1. 安装
gentoo中只需emerge daemontools即可。
2. 为supervise添加run脚本
supervise简单用法:
supervise会检测dirname下一个文件名为run的脚本并执行其内容,而run脚本即为要保证运行的服务或进程的启动脚本。
这里以pysysmon目录为例,我们要保证该目录下的newgraph.py始终运行。
这样就实现了一个最简单的守护进程,supervise将每5秒检测一次指定进程的状态,保证newgraph.py始终在运行中。
三、感想
之前不知道daemontools,为了保证某个shell脚本始终运行,还专门另写了一个shell脚本来监控它。
作为sa,如果不是出于特殊目的,这重复的轮子还是少造为好.