supervisor使用小结
详细用户指南可见http://www.supervisord.org/index.html
- 版本
v3.2.0
,运行环境是ubuntu16.04,使用apt安装。sudo apt-get install supervisor
- 运行supervisord及配置文件
- 生成配置文件。利用命令
echo_supervisord_conf>supervisord.conf
可在指定文件下生成配置文件,该配置文件控制supervisord功能。 - 运行supervisord。执行命令
supervisord -c <filepath>
,从指定目录加载配置启动supervisord进程。默认是daemon方式,可加选项-n, --nodaemon
取消,则一直绑定终端。
- 生成配置文件。利用命令
- 添加被控进程
[program:sim1]
command=/usr/bin/java -cp /home/alan/java_project/kafka_client/sim1:/home/alan/java_project/kafka_client/kafka-0.0.1-SNAPSHOT-jar-with-dependencies.jar alan.kafka.AppProducer
;command=/home/alan/supervisor/test.sh
process_name=%(program_name)s
numprocs=1
directory=/tmp
umask=022
priority=999
autostart=false
autorestart=false
;startsecs=10
startretries=3
exitcodes=0,2
stopsignal=TERM
stopwaitsecs=10
stopasgroup=false
killasgroup=false
user=alan
redirect_stderr=true
stdout_logfile=/home/alan/java_project/kafka_client/sim1/log.txt
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
;stderr_logfile=/a/path
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
stderr_events_enabled=false
environment=A="1",B="2"
serverurl=AUTO
- issues
- 如果python命令默认指向python3,需要修改,否则supervisord无法运行,supervisor只能在python2.x上运行。
切换Python版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 200
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100
- [program:xxxx] 字段,指定被监控进程的日志路径时,如路径不存在(文件不存在),supervisord出现报错给了一个错误码,网上无类似问题。