9

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

4

2 回答 2

26

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

于 2013-12-23T09:47:24.263 回答
0

你需要执行你的shell script spawned. Spawn意味着当你杀死它时,除非有一组条件,否则它不会杀死它。

注意:supervisor是一个控制处理的python模块。 有关更多信息,请参阅此

于 2013-09-18T10:45:16.667 回答