1、Supervisor安裝 :php
sudo apt-get install supervisor
supervisor提供兩個命令:shell
/usr/bin/supervisord ;supervisor服務守護進程vim
/usr/bin/supervisorctl ;supervisor控制檯進程oop
supervisor的配置文件默認路徑爲:spa
/etc/supervisor命令行
--conf.d ;存放着supervisor監管的進程的配置信息,一個進程對應一個配置文件rest
--supervisord.conf ;supervisor的主配置文件,定義服務名稱以及接口等等code
2、Supervisor配置接口
用supervisor監控一個腳本進程,須要在/etc/supervisor/conf.d中新建一個關於這個腳本進程的配置文件。進程
vim script.conf
[program:srcipt] #程序的名字,在supervisor中能夠用這個名字來管理該程序。 command=scirpt.php #啓動程序的命令 autorstart=true #設置該程序是否隨supervisor的啓動而啓動 directory=page/to/your/ #至關於在該目錄下執行程序 autorestart=true #程序中止以後是否須要從新將其啓動 startsecs=10 #從新啓動時,等待的時間 startretries=36 #重啓程序的次數 redirect_stderr=true #是否將程序錯誤信息重定向的到文件 stdout_logfile=/home/hadoop/supervisor_log/log.txt #將程序輸出重定向到該文件 stderr_logfile=/home/hadoop/supervisor_log/err.txt #將程序錯誤信息重定向到該文件
3、Supervisor管理
Supervisord安裝完成後有兩個可用的命令行supervisor和supervisorctl,命令使用解釋以下:
supervisord,初始啓動Supervisord,啓動、管理配置中設置的進程。
supervisorctl stop programxxx,中止某一個進程(programxxx),programxxx爲[program:chatdemon]裏配置的值,這個示例就是chatdemon。
supervisorctl start programxxx,啓動某個進程
supervisorctl restart programxxx,重啓某個進程
supervisorctl stop groupworker: ,重啓全部屬於名爲groupworker這個分組的進程(start,restart同理)
supervisorctl stop all,中止所有進程,注:start、restart、stop都不會載入最新的配置文件。
supervisorctl reload,載入最新的配置文件,中止原有進程並按新的配置啓動、管理全部進程。
supervisorctl update,根據最新的配置文件,啓動新配置或有改動的進程,配置沒有改動的進程不會受影響而重啓。
注意:顯示用stop中止掉的進程,用reload或者update都不會自動重啓。