分享

解决supervisor unix:///var/run/supervisor.sock no such file, 亲测有效

 lichwoo 2024-01-15 发布于北京

supervisor一个开源的后台托管程序,在使用过程中可能是因为机器宕机,导致supervisor没有正常关掉,在执行sudo supervisorctl,想查看进程状态时,提示

unix:///var/run/supervisor.sock no such file

解决

那么如何解决这个问题呢?需要执行三个命令即可

  1. sudo touch /var/run/supervisor.sock
  2. sudo chmod 777 /var/run/supervisor.sock
  3. sudo service supervisor restart

然后再执行sudo supervisorctl 又报错了,这次换了个错误,提示unix:///var/run/supervisor.sock refused connection

这个是supervisord没有启动,然后执行sudo supervisord -c /etc/supervisor/supervisord.conf(换成你自己的配置文件目录) 即可

然后再执行sudo supervisorctl 就可以了,这下可以看到我们托管的进程了。

 

课外知识

supervisord

是supervisor的服务端程序。

干的活:启动supervisor程序自身,启动supervisor管理的子进程,响应来自clients的请求,重启闪退或异常退出的子进程,把子进程的stderr或stdout记录到日志文件中,生成和处理Event

supervisorctl

这东西还是有点用的,如果说supervisord是supervisor的服务端程序,那么supervisorctl就是client端程序了。supervisorctl有一个类型shell的命令行界面,我们可以利用它来查看子进程状态,启动/停止/重启子进程,获取running子进程的列表等等。。。最牛逼的一点是,supervisorctl不仅可以连接到本机上的supervisord,还可以连接到远程的supervisord,当然在本机上面是通过UNIX socket连接的,远程是通过TCP socket连接的。supervisorctl和supervisord之间的通信,是通过xml_rpc完成的。 相应的配置在[supervisorctl]块里面

 

参考链接

https://blog.csdn.net/yfanjy/article/details/105975723

https://github.com/Supervisor/supervisor/issues/480

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多