最近在安装应用的守护发现总有可能应用会crash掉, 为了能保证系统的长时间运行,需要寻找一个工具。
最后找到了supervise,supervise是daemontools 下的一个组件,作用是能够在应用结束后再次启动该应用。
官网和下载地址如下:
http://cr.yp.to/daemontools.html
http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
测试环境是Centos6.6,安装步骤:
使用root用户
mkdir /pacakage
cd /package
tar -xvf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
编辑/package/admin/daemontools/src/conf-cc
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow
-Wcast-qual -Wcast-align -Wwrite-strings
改成
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow
-Wcast-qual -Wcast-align -Wwrite-strings -include /usr/include/errno.h
package/install
使用测试用例:
监控一个test.sh进程, 这个进程作用就是不停地打印1、2、3、4、5、6
具体脚本如下
mkdir supervisetest
vi run
#!/bin/bash
echo "start test!"
./test.sh >> aa.txt
vi test.sh
#!/bin/bash
echo " test!"
echo '1'
sleep 60
echo '2'
sleep 60
echo '3'
sleep 60
echo '4'
sleep 60
.......
调用命令
supervise ./supervisetest
test.sh手动杀死或自动运行完,进程
监控及重启的日志如下: