Supervisord - 启动后台python脚本

时间:2013-09-18 10:35:07

标签: python bash supervisord

我创建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流程,我在这里做错了什么。请帮忙。

2 个答案:

答案 0 :(得分:18)

在脚本开头添加#!/ bin / sh。

答案 1 :(得分:0)

您需要执行shell script spawnedSpawn意味着当你杀死它时,它不会被杀死,除非有一系列的咒语。

注意:supervisor是一个控制处理的python模块。 如需答案,请访问:http://stackful-dev.com/simplify-unix-process-herding-with-supervisor.html