Supervisor是类UNIX系统上的一个进程管理工具,用于进程的批量启动、停止、配置、守护与监控。Supervisor默认情况下会自动重启挂掉的进程
brew install supervisor
理论上brew services start supervisor
可以启动,但是我启动不了。
执行命令supervisor
即可在后台启动Supervisor
。如果要启动到前台,可以执行命令supervisor --nodaemon
Supervisor
默认使用的配置文件是/usr/local/etc/supervisord.conf
,但是用Homebrew
安装的Supervisor
的配置文件是supervisord.ini
,需要改名使用,或者直接指定配置文件
Supervisor默认不开启Web管理界面。注释掉配置文件中的[inet_http_server]
和下一行的port=...
后,重启服务即可启用Web后台
[program:helloworld]
command=tail -f /dev/null
[program:clock]
command=bash -c 'while `true`; do date; sleep 1; done'
supervisord --nodaemon
前台启动Supervisor服务supervisorctl -i
进入交互式Shellsupervisorctl status
查看任务列表supervisorctl status helloworld
查看指定任务的状态supervisorctl stop/start/restart all
结束/启动/重启所有任务supervisorctl stop/start/restart helloworld
结束/启动/重启指定任务supervisorctl reread
重新加载配置文件,不增减任务supervisorctl update all
重新加载配置文件,并进行必要的增减任务supervisorctl remove/add
移除/添加任务(配置文件中已经存在的任务)supervisorctl tail -f helloworld
实时查看任务的控制台输出supervisorctl tail -f helloworld stderr
实时查看任务的控制台错误输出supervisorctl reload
重启Supervisor服务supervisorctl fg helloworld
将任务拉到前台,此时Ctrl+C
不会结束任务,而是将任务放回后台supervisorctl shutdown
终止Supervisor服务supervisorctl clear all
清楚所有进程的日志文件supervisorctl maintail -f
实时查看Supervisor服务的日志文件supervisorctl signal SIGTERM all
结束所有进程supervisorctl signal SIGKILL all
杀死所有进程supervisorctl --serverurl http://localhost:9001 status
管理远程Supervisor服务