推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
SlipStupig
V2EX  ›  Python

supervisor 报错被折腾了一整天了

  •  
  •   SlipStupig · Dec 7, 2016 · 10561 views
    This topic created in 3628 days ago, the information mentioned may be changed or developed.

    supervisord 老是报错: app: ERROR (no such process),不知道是怎么回事,我的 app 配置文件如下:

     
    [program:app]
    command=/bin/env pypy --jit vec=1 ~/myhome/app.py -g min -p 1024
    directory=/myhome/user/app/
    autostart=true
    redirect_stderr=false
    user=ubuntu           
    
    
    Supplement 1  ·  Dec 8, 2016

    总结一下如下几个原因可能导致失败:

    • 进程已经被启动或者是daemon(我后台挂了screen)
    • 配置文件加载错误,默认使用的配置文件[include]是被注释掉的(ubuntu 14.04)
    • 命令执行路径不是完整路径或不正确
    12 replies  •  2016-12-08 10:37:25 +08:00
    47jm9ozp
    47jm9ozp
    Dec 8, 2016
    1
    把~换成绝对地址试试?

    去掉 redirect_stderr=false ,然后看一下 supervisorctl tail app 和 supervisorctl tail app stderr 试试?
    sylecn
    sylecn
    Dec 8, 2016 via Android
    2
    debian 系我记得 env 的路径是 /use/bin/env 吧。
    而且既然是服务的配置文件,直接写 pypy 的完整路径比较好。
    sylecn
    sylecn
    Dec 8, 2016 via Android
    3
    手机打字错掉了 坑爹的自动拼写纠正。
    /usr/bin/env
    SlipStupig
    SlipStupig
    OP
    Dec 8, 2016
    4
    @ooxxcc
    @sylecn 我试一试
    SlipStupig
    SlipStupig
    OP
    Dec 8, 2016
    5
    @sylecn 还是一样,那个 supervisor 我配置文件放在"/etc/supervisor/conf.d/"里面不只有有没影响
    xiuc001
    xiuc001
    Dec 8, 2016 via iPhone❤️1
    6
    supervisor 管控的是自己的子进程,如果你是手动起的进程,他控制不了,你得把手动启动的进程杀了,再用 supervisor 启动你的进程。林外 supervisor 执行的命令不能是守护进程;就这两点注意就行。
    ldehai
    ldehai
    Dec 8, 2016
    7
    @SlipStupig 我是把配置文件放在项目目录底下的

    ![]( )
    sujin190
    sujin190
    Dec 8, 2016
    8
    问个话题无关的, --jit vec=1 这个参数的作用是? pypy 似乎有很多参数,一直不知道有什么用
    bwangel
    bwangel
    Dec 8, 2016❤️2
    9
    你先手动运行一下 /bin/env pypy --jit vec=1 ~/myhome/app.py -g min -p 1024 这条命令,看一下是不是在后台运行的。我以前遇到过这种问题是因为程序在后台运行的, supervisor 就会认为它没有启动,不断地重启它。
    47jm9ozp
    47jm9ozp
    Dec 8, 2016
    10
    还有试一下 sudo -u ubuntu "/bin/env pypy --jit vec=1 ~/myhome/app.py -g min -p 1024"

    把~展开成绝对路径
    SlipStupig
    SlipStupig
    OP
    Dec 8, 2016
    11
    @sujin190 使用寄存器优化, X86 使用 SSE MMX 寄存器
    SlipStupig
    SlipStupig
    OP
    Dec 8, 2016
    12
    @bwangel 感谢,终于成功了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1946 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 13:25 · PVG 21:25 · LAX 05:25 · JFK 08:25
    ♥ Do have faith in what you're doing.