【问题标题】:Supervisord error "child process was not spawned"监督错误“未生成子进程”
【发布时间】:2013-09-23 01:50:25
【问题描述】:

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

【问题讨论】:

  • 错误信息似乎暗示权限不正确。

标签: python bash supervisord


【解决方案1】:

你需要执行你的shell scriptspawnedSpawn 表示当你杀死它时,它不会杀死,除非有一组条件。

注意:supervisor 是一个控制处理的 python 模块。 For more see this.

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 有时它可以在没有这个的情况下工作,有时它需要这个。有什么具体原因吗?
    猜你喜欢
    • 2014-09-12
    • 2023-03-14
    • 1970-01-01
    • 2017-05-09
    • 2018-05-02
    • 2012-08-02
    • 2015-09-21
    • 2017-09-04
    • 1970-01-01
    相关资源
    最近更新 更多