我创建bash来运行python脚本start_queue.sh
start_queue.sh的内容
python /tmp/my_python_script.py &
当我在终端中运行它时,它是有效的。但是我想用supervisord来管理它,因为我有几个django网站已经由supervisord管理。
但是我在启动时遇到错误
supervisor: couldn't exec /tmp/start_queue.sh: ENOEXEC
supervisor: child process was not spawned
这就是我在supervisord中配置的方式
[group:scriptgroup]
programs=script_1
[program:script_1]
command=/tmp/start_queue.sh
directory=/tmp/
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/x.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=50
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
loglevel=info
可以通过supervisord管理一个backgroup流程,我在这里做错了什么。请帮忙。
答案 0 :(得分:18)
在脚本开头添加#!/ bin / sh。
答案 1 :(得分:0)
您需要执行shell script
spawned
。 Spawn
意味着当你杀死它时,它不会被杀死,除非有一系列的咒语。
注意:supervisor
是一个控制处理的python模块。
如需答案,请访问:http://stackful-dev.com/simplify-unix-process-herding-with-supervisor.html