可以参考官方网站:http://cr.yp.to/daemontools。

一、安装

1、wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

tar xvzf daemontools-0.76.tar.gz

cd admin/daemontools-0.76

package/install

出现以下错误:

 daemontools for storm_第1张图片

解决:这里一种是修改文件,一种是打补丁,这里我选择第一种。

vim src/conf-cc

在gcc 最后加上 –include /usr/include/errno.h

重新运行:package/install 成功。

rm –f /command/*

package/install 

cp –rp /admin/daemontools-0.76/command/* /command

安装完毕。此处可以修改,我直接复制command文件过去,程序默认是软连接过去,但是软连接过去日志好像有点问题,有兴趣的可以测试下。

二、服务监控

创建服务目录,并写启动脚本

   
   
   
   
  1. mkdir /service/storm_ui 
  2. chmod +t /service/storm_ui 
  3. cd /service/storm_ui 
  4. touch run 
  5. vim run 
  6. #!/bin/bash 
  7. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/jdk1.6.0_29/bin:/usr/local/bin 
  8. export PATH 
  9. STORM="/opt/storm-0.6.2/bin/storm" 
  10. sleep 10 
  11. exec 2>&1 
  12. exec env - PATH=$PATH /usr/bin/python $STORM ui 

保存退出。

创建日志目录,并写脚本

   
   
   
   
  1. chmod 755 run 
  2. mkdir log 
  3. cd log 
  4. touch run 
  5. vim run 
  6. #!/bin/bash 
  7. exec setuidgid stormd multilog t s2500000 n100 ./main 

 保存退出。

设置日志目录的权限。

   
   
   
   
  1. chmod 755 run 
  2. mkdir main 
  3. touch status 
  4. chown –R stormd.stormd main 
  5. chown –R stormd.stormd status 

 svc –u /service/storm_ui       启动监控

  测试直接Kill掉storm_ui的进程,10s钟后会发现进程自动重启。经过多次测试没有发现问题。

-------------------------------------------------

 

svc –t /service/storm_ui       重启监控

svc –d /service/storm_ui       停止监控

svc –u  /service/storm_ui      启动监控

上面三个是最基本的管理命令,其它的命令可以参考daemontools-man里面的手册。