主管袜子文件丢失

Can*_*ian 10 supervisord debian-jessie

我安装了 Supervisor (v3.1.2) 来管理 ElastAlert 但是当我运行supervisorctl它时有时会抛出这个错误:

unix:///var/run/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)

其他时候它会抛出这个错误:

unix:///tmp/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)

我会注意到它确实让我进入了supervisor>提示符,但之后的命令与上面的错误相同。该/etc/supervisor/supervisor.conf文件配置为使用/var/run,这似乎与第二个错误不一致。

我创建了一个指向 的链接/etc/supervisor.conf,正如其他帮助页面所建议的那样,但这并没有什么不同。

两件奇怪的事情,当我第一次安装 Supervisor 时它运行良好,但在重新启动后这个问题开始了。另一个奇怪的事情是 ElastAlert 在重新启动后启动,并继续正常运行。所以虽然它可能有错误,但它正在做它的工作。不是表演障碍,但我希望它能够正常工作。

有任何想法吗?

小智 12

当物理机重新启动时,这会发生在我身上。我的机器运行 Ubuntu,从 12.04 到 16.04。我通过重新启动主管作为服务来解决它。

sudo service supervisor stop
sudo service supervisor start 
Run Code Online (Sandbox Code Playgroud)

(不知何故,这比简单地使用“重新启动”要好得多)

显然,如果您依赖 Supervisor 为您启动其他程序而无需在每次重新启动后重新启动,这不是一个理想的解决方案。我目前正在调查systemd其他人的建议。

编辑:如果您使用的是 Ubuntu 16.04,这个答案可能会像我一样解决您的所有问题。您应该“启用”systemd 以启动 supervisord。https://unix.stackexchange.com/a/291098


小智 5

这是我的情况。假设错误是unix:///var/run/supervisord.sock no such file在键入此命令时sudo supervisorctl status

所以我的解决方案是:

  1. 打开主管配置文件 sudo nano /etc/supervisor/supervisord.conf
  2. 检查 supervisorctl 路径的 serverurl 指向的行。
[supervisorctl]
serverurl=unix:///var/run/supervisord.sock ; use a unix:// URL  for a unix socket
Run Code Online (Sandbox Code Playgroud)
  1. 将路径 serverurl 更改为unix:///var/run/supervisor.sock. 查看supervisor d和supervisor的区别
  2. 重启主管 service supervisor restart
  3. 检查状态主管 sudo service supervisor status
  4. 再次检查错误是否仍然存在,sudo supervisorctl status如果是,请尝试删除您的配置/etc/supervisor/conf.d/ ...或重新安装主管