授予作用:
Supervise是一个进程管理工具,使用场景:将服务用supervise启动,当服务进程挂掉后,迅速自动拉取服务进程。
安装
yum -y install gcc gcc-c++ autoconf make
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar -xvf daemontools-0.76.tar.gz
#安装
cd admin/daemontools-0.76
#添加-include /usr/include/errno.h,否则会出错
vim src/conf-cc
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include /usr/include/errno.h
package/install
添加环境变量
vim .bashrc
#supervise
export supervise="/home/liuhanyu01/tools/admin/daemontools-0.76/command/"
export PATH="$supervise:$PATH"
使用
supervise的执行命令是supervise Path ,其中Path 是指定路径,可以是相对路径,也可以是绝对路径。在Path路径下,必须有一个run的脚本,supervise调用的就是这个脚本,并监控管理该脚本中运行的程序。 supervise的一个重要的功能就是可以检测出run脚本中执行的程序是否正常工作,若发现其已经死掉,supervise将会重新执行 run脚本,重新启动指定程序。
新建目录
mkdir lll
在目录lll下进行下述操作:
新建脚本
#! /bin/bash
echo `date +"%Y-%m-%d %H:%M:%S"`
sleep 5
新建run文件
#!/bin/sh
echo "start tes"
cd /home/liuhanyu01/lll && ./edate.sh
chmod +x run
supervise /lll >> log/data.log
结果
ps -ef | grep edate --color