supervisor是用Python開發的一套通用的進程管理程序,能夠將一個普通的命令行進程變爲後臺daemon,並監控進程狀態,異常退出時能夠自動重啓python
安裝supervisorweb
# yum search setuptools .... python-setuptools.noarch : Easily build and distribute Python packages #yum install -y python-setuptools.noarch #easy_install supervisor
建立主配置文件shell
# mkdir -m 755 -p /etc/supervisor \\建立supervisor配置文件目錄 # echo_supervisord_conf >/etc/supervisor/supervisord.conf \\建立主配置文件 # cd /etc/supervisor/ # mkdir -m 755 conf.d \\建立項目配置文件目錄
建立項目配置文件(運行3個腳本)vim
# vim conf.d/test.ini [program:tjapp_sendmessage] command=/bin/bash /data/shell/sendmessage.sh numprocs=1 autostart=true autorestart=true [program:bbscollection] command=/bin/bash /data/shell/bbscollection.sh numprocs=1 autostart=true autorestart=true [program:test_sbbscollection] command=/bin/bash /data/shell/test_sbbscollection.sh numprocs=1 autostart=true autorestart=true
在主配置文件中引入test.inibash
#cat supervisord.conf ... [include] files = ./conf.d/*.ini
啓動supervisorapp
# supervisord -c /etc/supervisord.conf
查看supervisor運行的腳本ui
# supervisorctl bbscollection RUNNING pid 10090, uptime 4 days, 17:20:10 test_sbbscollection RUNNING pid 10088, uptime 4 days, 17:20:10 tjapp_sendmessage RUNNING pid 10089, uptime 4 days, 17:20:10
中止bbscollection腳本spa
# supervisorctl stop bbscollection bbscollection: stopped [root@om-web_test supervisord.d]# supervisorctl bbscollection STOPPED Apr 06 10:23 AM test_sbbscollection RUNNING pid 10088, uptime 4 days, 17:23:13 tjapp_sendmessage RUNNING pid 10089, uptime 4 days, 17:23:13 supervisor> start bbscollection \\啓動 supervisor> status bbscollection RUNNING pid 7310, uptime 0:00:24 test_sbbscollection RUNNING pid 10088, uptime 4 days, 17:23:54 tjapp_sendmessage RUNNING pid 10089, uptime 4 days, 17:23:54