歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Supervise:Linux系統下的進程管理利器

Supervise:Linux系統下的進程管理利器

日期:2017/3/3 16:42:33   编辑:關於Linux

Supervise是daemontools的一個工具,可以用來監控治理unix下的應用程序運行情況,在應用程序出現異常時,supervise可以重新啟動指定程序。本文簡單介紹一下supervise的安裝和使用。

一、 安裝

創建

/pacakage目錄(你可以創建任意目錄,這裡使用package只是為了保持與英文作者的一致):

mkdir -p /package

chmod 1755 /package

cd /package

下載daemontools-0.76.tar.gz到/package目錄,解壓該包。

tar xvzf daemontools-0.76.tar.gz

cd admin/daemontools-0.76

編譯並安裝daemontools程序

package/install

二、使用supervise程序進行程序治理監控

supervise的執行命令是supervise Path ,其中Path 是指定路徑,可以是相對路徑,也可以是絕對路徑。在Path路徑下,必須有一個run的腳本,supervise調用的就是這個腳本,並監控治理該腳本中運行的程序。

supervise的一個重要的功能就是可以檢測出run腳本中執行的程序是否正常工作,若發現其已經死掉,supervise將會重新執行run腳本,重新啟動指定程序。這對於很多服務端程序來說是十分必要的,沒有人願意在深夜2點的時候從被窩裡爬出來重新啟動服務器。

下面是一個簡單使用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同樣會重新啟動程序。

Copyright © Linux教程網 All Rights Reserved