如何为一个服务进程创建监控,即使出core也能自动重启

来源:互联网 发布:网络诈骗 知乎 编辑:程序博客网 时间:2024/06/04 17:51

转载自http://www.cnblogs.com/end/archive/2013/04/18/3028036.html

Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序。

假定你已经安装好daemontools。


例子 :

  建立一个test目录,进入该目录 

  mkdir test 

  cd test 

  在该目录下写一个简单测试程序test.c: 

  #include   #include   int main()  {   int ix = 0;   for(;; ix++)   {   printf("%d\n", ix);   sleep(1);   }   return 0;  } 

  编译test.c输出为test。 

  gcc -o test test.c 

  编写一个脚本run,来执行test程序,以便supervise进行调用。 

  #!/bin/sh  echo "start test!"  ./test 

  退到上级目录,执行 supervise test 看看效果: 

  cd .. 

  supervise test 

  执行killall -9 test,杀死test进程,你会发现supervise会重新启动test进程。当然如果程序core dump,supervise同样会重新启动程序。
0 0