| 关键词: 进程 Supervisor 命令 配置 文件 supervisorctl 管理 界面 start |
Supervisor是用Python开发的一个client/server服务,是Unix系统和类Unix系统下的一个进程管理工具。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。 ![]() 在Mac系统下,我们使用brew进行安装supervisor这个管理工具,安装命令是brew install supervisor: ![]() 从安装的信息中可以看到,有这样的一段话: To have launchd start supervisor now and restart at login: 这是supervisor的启动命令,brew services start supervisor是后台守护进程启动,另外一个就是在Terminal中启动运行,我们就用命令brew services start supervisor来启动supervisor: 使用命令supervisorctl进入命令管理界面: 会发现有一个refused connection的警告出现,那是我们启动命令管理界面的时候,没有指定配置文件,我们指定配置文件进行启动命令管理界面: 如上图,输入help可以看到命令管理界面支持的命令,下面就使用supervisor管理一个python进程,supervisor的配置文件和nginx的配置有着相似的地方,就是有一个主配置文件,那就是supervisord.ini,在这个配置文件的最后,有着这样配置: ![]() 所以其他的进程管理的配置文件我们放在supervisor.d的文件夹里,在这个文件夹里,我们新建一个myschool的进程管理配置文件: 其中[program:myschool]是我们对这个进程配置起的一个名称; command是运行这个进程的指令; directory是这个项目的主目录; user是运行的用户; autostart是自动启动; autorestart是自动重启,这种情况是在进程不小心给挂掉了之后的保障机制; startretries是启动重试次数,也就是启动不成功,重试的次数; stdout_logfile和stderr_logfile是日志记录的文件路径 写完这个文件之后,我们进入supervisor的命令管理界面进行reload,reload之后可以输入status查看: 这时我们输入访问的地址,看一下服务是否正常: ![]() 服务访问正常,这个进程就被supervisor给管理起来了!当然我们也可以直接在命令行界面直接操作,操作命令如下: supervisorctl stop test #终止特定的进程 |
| 本文出处: https://www.toutiao.com/a6765024725144961543/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|