解决supervisor unix:///var/run/supervisor.sock no such file, 亲测有效
supervisor一个开源的后台托管程序,在使用过程中可能是因为机器宕机,导致supervisor没有正常关掉,在执行sudo supervisorctl,想查看进程状态时,提示
unix:///var/run/supervisor.sock no such file
解决
那么如何解决这个问题呢?需要执行三个命令即可
sudo touch /var/run/supervisor.sock
sudo chmod 777 /var/run/supervisor.sock
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)