【Supervisor】使用 Supervisor source command not found 如何解决
结论:
The source
command is only available in bash
, and the supervisor command is run by sh
. I would recommend using a script to perform your commands
代码示例:
[program:alarm_handler] command = bash /opt/disk2/var/www/maliksi/file_protect/management/commands/alarm_handler_init.sh # > /tmp/alarm_handler.log process_name = %(program_name)s stopsignal = QUIT autostart = true # startsecs = 30 # startretries = 3 autorestart = true # exitcodes = 0,1,2 stdout_logfile_maxbytes = 10MB stdout_logfile_backups = 5 stdout_logfile = /var/log/supervisor/%(program_name)s-stdout.log stderr_logfile = /var/log/supervisor/%(program_name)s-stderr.log # redirect_stderr = true
启动脚本:
#!/bin/bash source /opt/ENV/ubuntu1227/bin/activate exec /opt/ENV/ubuntu1227/bin/python /opt/disk2/var/www/maliksi/manage.py alarm_handler
It Works !
参考资料:
http://serverfault.com/questions/390531/running-django-custom-management-commands-with-supervisord
https://web.archive.org/web/20130526045634/http://sjsnyder.com/managing-virtualenv-apps-with-supervisor