Supervisor 静默地无法启动/重启(日志中没有任何内容)

Supervisor 静默地无法启动/重启(日志中没有任何内容)

我有一个相当基本的主管配置:

[program:drape]
process_name=%(program_name)s_%(process_num)02d
command=python /home/ubuntu/drape/workers/drape.py
numprocs=1
autostart=true
autorestart=true
nocleanup=true
stdout_logfile=/home/ubuntu/supervisord.out.log
stdout_logfile_maxbytes=32MB
stderr_logfile=/home/ubuntu/supervisord.err.log
stderr_logfile_maxbytes=32MB
startsecs=180

我认为这个配置实际上并不重要,但无论如何还是要发布。我正在使用库存主管全局配置。我通过标准安装了主管sudo apt-get -y install supervisor……只是为了确保:

$ sudo apt-get -y install supervisor
Reading package lists... Done
Building dependency tree       
Reading state information... Done
supervisor is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 69 not upgraded.

然而,当我尝试启动主管时,我得到了一个完全无声的失败:

ubuntu@...:~$ sudo service supervisor start
ubuntu@...:~$

日志中没有任何内容(我的全局配置有logfile=/var/log/supervisor/supervisord.log),并且“程序日志”中也没有任何内容(logfile=/var/log/supervisor/supervisord.log.<stream>.log)。

对于运行 ruby​​ 守护进程的其他服务器,我也有一个类似的配置过程,因此为了进一步深入了解,我甚至创建了一个非常简单的 ruby​​ 脚本并使其chmod 777不存在权限问题:

$ cat test.rb 
while 1
 puts "hi"
 sleep 1
end
$ ruby test.rb 
hi
hi
hi
...

我的问题更像是“我应该查看哪里”的问题。如果主管没有记录任何内容,我能想到的唯一其他地方就是系统日志,但对我来说,这并没有什么异常。

答案1

对于那些可能正在为此苦苦挣扎的人来说,这只是一个建议,尝试直接运行守护进程

/usr/bin/supervisord

你实际上应该查看错误停止监控程序运行。监控程序初始化脚本对于查找配置错误毫无用处。

答案2

静默失败是由于此行失败造成的:

DAEMON=/usr/bin/supervisord
test -x $DAEMON || exit 0

在主管初始化脚本中。看起来出于某种原因,/usr/local/bin/这台机器上安装了主管。什么都没有打印出来,真是太烦人了……

相关内容