在supervisorctl中进行监控时出现错误(没有这个进程)

33

我之前看见过这个问题被问过,但是那些解决方法都不适用于我的情况。

我在使用树莓派B+上的supervisor时遇到了问题。每次尝试启动我的进程时,都会出现一个错误提示:

pi@raspberrypi ~ $ sudo supervisorctl start server

服务器:错误(没有这个进程)

我在 /etc/supervisord.conf 上设置了我的配置文件。

[program:server]
directory=/home/pi/ledticker
command=/usr/bin/python NetworkServer.py
autostart=false
autorestart=true
stopsignal=QUIT

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200 ; (min. avail process descriptors;default 200)

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket

[unix_http_server]
file=/tmp/supervisor.sock ; (the path to the socket file)
我已经尝试了reread、update、reload命令,但都没有起作用。有任何想法吗?

你找到解决方案了吗? - Ajoy
1
你想接受两个提议答案中的一个吗? - Rémi Becheras
对我来说,我没有看到 process,也没有看到 supervisorctl reload 起作用,但是在 重启 后它可以工作了。 - Druta Ruslan
5个回答

66

你应该尝试重新加载supervisord

# supervisorctl reload
[y/N] ? y

在许多情况下,此错误可以通过重新加载来解决。


12

在我的 Fedora22 上,我修改了 /etc/supervisord.conf 中的以下行:

[include]
files = supervisord.d/*.ini

[include]
files = supervisord.d/*.conf

然后重新加载


1
谢谢!这就是我做错的地方。我把文件命名为.conf,没有意识到默认只加载.ini文件 :) - Tim Malone

8
我之前也遇到过同样的问题。解决方法如下: 首先编辑您的supervisord.conf文件,并添加以下内容:
[unix_http_server]

file=/tmp/supervisor.sock

chmod=0777
  • start SupervisorD service first using following command :

    $ sudo /usr/bin/supervisord -c /etc/supervisord.conf
    
  • You can verify using : ps -ef | grep python

  • After supervisord starts, Try to start your program using following command :

    $ sudo /usr/bin/supervisorctl -c /etc/supervisord.conf start all
    

1
在我的情况下,我只需要运行:$ sudo /usr/bin/supervisord -c /etc/supervisor/supervisord.conf 就可以了。一切都很好。+1 - rbashish

6

如果存在进程多实例配置,完整的进程名称可能看起来像server:server_0(取决于您的process_name模板)。请尝试:

sudo supervisorctl restart server:*

否则你将会收到相同的错误(没有这样的进程)。

4
在一些版本的supervisor中,[include] 部分可能无法正常工作,你需要将程序添加到主supervisor配置文件 /etc/supervisord.conf 中。

经过一整天的尝试,这对我起作用了!看起来有点傻,但它确实解决了问题!(CentOS 7) - ecedenyo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接