https://www.cnblogs.com/xd502djj/p/13214174.html
supervisorctl有一個型別shell的命令列介面,我們可以利用它來檢視子程式狀態,啟動/停止/重啟子程式,獲取running子程式的列表等等;Web Server主要可以在介面上管理程式,Web Server其實是透過XML_RPC來實現的,可以向supervisor請求資料,也可以控制supervisor及子程式。配置在[inet_http_server]塊裡面,XML_RPC介面是遠端呼叫的,supervisorctl和Web Server就是它弄的。
1、RHEL6.5的python版本:
[root@DMS supervisor]# python
Python 2.6.6 (r266:84292, Sep 4 2013, 07:46:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
2、安裝supervisor-3.3.1-py2.6.egg時報錯:提示
Installed /usr/lib/python2.6/site-packages/supervisor-3.3.1-py2.6.egg
Processing dependencies for supervisor==3.3.1
Searching for meld3>=0.6.5
Reading
Download error on : [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't find index page for 'meld3' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading
Download error on : [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for meld3>=0.6.5
error: Could not find suitable distribution for Requirement.parse('meld3>=0.6.5')
3、從
,解壓python setup.py install安裝。
4、下載安裝setuptools-36.0.1.zip
5、 下載安裝supervisor-3.3.1.tar.gz
6、配置檔案:
1)建立/etc/ supervisor/conf.d資料夾
2)supervisord.conf放置於 /etc/ supervisor/下,其中
[include]
files = /etc/supervisor/conf.d/*.conf
3)所以將待監控程式以 .conf結尾的配置檔案放置在 /etc/ supervisor/conf.d/目錄下。
7、 supervisord.conf中
[supervisorctl]
serverurl =
username = root
password = 123456
prompt = mysupervisor
使用者名稱密碼設定不對的話,執行supervisorctl update報錯:“Error:Server requires authentication”
8、 /etc/ supervisor/conf.d/目錄下的配置檔案例如adcc.conf[program:sendVer2Com1]
command = sudo xterm -e python sendVer2Com1.py ttyS1
//對於字元終端程式,要想啟動獨立的 xterm顯示程式執行內容,需要使用“ xterm -e”,
//command只能是那種在終端執行的程式,不能是守護程式。比如說command=service httpd start。httpd這個程式被linux的service管理了,我們的supervisor再去啟動這個命令
這已經不是嚴格意義的子程式了。
numprocs = 1
process_name=%(program_name)s-%(process_num)s
user = adcc
environment= HOME=/home/adcc
//設定程式執行時需要的環境變數,和別的子程式是不共享,如這裡:家目錄,
autostart=true
//如果是true的話,子程式將在supervisord啟動後被自動啟動預設就是true
autorestart=true
startretries=3 //預設3次
//當程式啟動失敗後,最大嘗試啟動的次數。。當超過3次後,supervisor將把此程式的狀態置為FAIL
redirect_stderr = true
stopasgroup=true
killasgroup=true
directory = /home/adcc/monitor
stdout_logfile = /etc/supervisor/%(program_name)s.log
directory = /home/adcc/monitor/bin/ //程式執行前,會前切換到這個目錄
//設定執行程式所在的目錄,這樣該程式使用相對路徑找配置檔案不會找不到。如:../resource/xxx.ini
來自 “ ITPUB部落格 ” ,連結:
http://blog.itpub.net/7970627/viewspace-2702333/,如需轉載,請註明出處,否則將追究法律責任。】