今天寫了一個管理supervisord進程腳本,執行發現有報錯,如下
http://localhost:9001 refused connection
問題原因分析:
supervisor通常有以下兩種方式通信:
1、本地socket
2、http連接
本機supervisord配置文件里面是開啟了socket連接
[supervisorctl] serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket ;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
我在啟動supervisorctl時,未指定配置文件,因此會使用默認的http方式連接supervisord,最終導致報錯
正確執行方式如下 啟動supervisord supervisord -c /path/supervisord.conf 關閉supervisord supervisorctl -c /path/supervisord.conf shutdown 查看supervisord管理的進程 supervisorctl -c /path/supervisord.conf status 停止supervisord管理的進程 supervisorctl -c /path/supervisord.conf stop process_name 啟動supervisord管理的進程 supervisorctl -c /path/supervisord.conf start process_name
