问题1 refused connection
问题景象
$ supervisorctl -c /root/ppe-detection/supervisord.conf
unix:///root/supervisor.sock refused connection
起因剖析
supervisor 次要蕴含2个组件(理论还有别的):
- supervisord
主过程,负责管理过程的server,它会依据配置文件创立指定数量的应用程序的子过程,治理子过程的整个生命周期,对crash的过程重启,对过程变动发送事件告诉等。 - supervisorctl
客户端的命令行工具,提供一个相似shell的操作接口
每次应用 supervisorctl,须要先保障supervisord失常运行。
解决办法
# 1. 须要把之前开启的对于supervisor的都kill掉,先查看supervisor(自身也是基于python的)和其运行的python过程
$ ps aux | grep python
# kill能够上面这条指令,把supervisor和其运行的python过程全杀了
$ ps -ef | grep python | grep -v grep | awk '{print $2}' | xargs kill -9
# 2. 从新开启supervisord
$ sudo supervisord -c supervisord.conf
# 3. 如果没有报错,则能够应用supervisorctl了
$ supervisorctl
问题2 unlinking stale socket
问题景象
$ sudo supervisord -c supervisord.conf
Unlinking stale socket /{some_dir}/supervisor.sock
问题剖析
它说正在解除连贯旧socket,那么帮它间接解除就好了。
问题解决
$ sudo supervisord -c supervisord.conf
Unlinking stale socket /{some_dir}/supervisor.sock
# 应用unlink指令,把下面这个supervisor.sock的门路复制下来
$ unlilnk /{some_dir}/supervisor.sock
# 而后就能够失常应用了
$ sudo supervisord -c supervisord.conf
$ supervisorctl
reference
supervisor原理及如何应用
linux下3种高效Kill掉所有python过程的办法(包含编写运行脚本 .sh)
发表回复