Linux操作下的進程管理利器 Supervise


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同樣會重新啟動程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM