Repo
https://github.com/ochinchina/supervisord
安装方式
go build
得到supervisord.exe,放入GOPATH/bin/或者PATH
supervisord version
验证是否正确安置
备注
本文不对具体参数说明,亦不对每一个功能细致讲解,仅仅对生产中使用supervisord的所经步骤进行描述。
本实例举的是windows下
有python版supervisor使用经验的体验更佳。
准备程序
假定需要守护的是这个进程,所在目录:
G:\go_workspace\GOPATH\src\test_X\test_supervisord
go build -o main.exe
准备结束
G:\go_workspace\GOPATH\src\test_X\test_supervisord
下存在了main.go
与 main.exe
启动supervisord
先准备配置文件。
创建文件夹与对应文件
E:\etc\supervisord.conf
,内容
E:\etc\supervisord.d\
,内容
以上参数复制粘贴即可,必要说明:
directory: 需要守护的程序所在的目录,也就是main.exe所在目录
command: 具体执行的命令,如上所示,既可以直接执行main.exe,又可以 go run /…/…/…/…/main.go
stdout_logfile: 控制台信息打印于该文件,可不存在,会创建自动
autostart: 自动启动
autorestart: 自动重启
开始
cmd
supervisord -c E:\etc\supervisord.conf -d
在浏览器输入 localhost:7111
得到ok
cmd
netstat -ano|findstr 7111
查看7111所在pid
taskkill/pid 14616 -t -f
假设7111对应pid14616,则杀死14616
杀死以后,查看supervisor窗口,发现已经自动重启,在浏览器输入 localhost:7111
得到ok