Supervisor

安装

查询软件包

1
yum info supervisor

安装扩展源 EPEL(若无软件包,有则跳过)

1
yum -y install epel-release

安装

1
yum install -y supervisor

启动服务

1
systemctl start supervisord

开机自启

1
systemctl enable supervisord

查看启动状态

1
systemctl status supervisord

查看进程

1
ps -aux | grep supervisord

命令

supervisor 是一个 C/S 模型的程序,supervisord 是 server 端,supervisorctl 是 client 端。

supervisord

1
2
3
4
5
6
-c, --configuration  指定配置文件路径 (默认为/etc/supervisord.conf)
-i, --interactive 执行命令后启动交互式shell
-s, --serverurl URL upervisord服务器监听的URL(默认为“ http:// localhost:9001 ”)
-u, --username 用于与服务器进行身份验证的用户名
-p, --password 用于与服务器进行身份验证的密码
-r, --history-file 保留readline历史记录(如果readline可用)

supervisorctl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
add <name> [...]
激活进程/组的配置中的任何更新
删除<name> [...]

remove <name> [...]
从活动配置中删除进程/组

update
重新加载配置,然后根据需要添加和删除(重新启动程序)

clear <name>
清除进程的日志文件。

clear <name> <name>
清除多个进程的日志文件

clear all
清除所有进程的日志文件

fg <process>
进入supervisor前台模式, 按Ctrl + C退出

PID
获得supervisord的PID。

pid <name>
按名称获取单个子进程的PID。

pid all
获取每个子进程的PID,每行一个。

reread
重新加载守护程序的配置文件,无需添加/删除(无重启)

注意:restart不会重新读取配置文件。可以用reread和update
restart <name>
重新启动进程

restart <gname>:*
重新启动组中的所有进程

restart <name> <name>
重新启动多个进程或组

restart all
重新启动所有进程

start <name>
开启一个进程

start <gname>:*
启动组中的所有进程

start <name> <name>
启动多个进程或组

start all
开始所有进程

status
获取所有进程状态信息。

status <name>
按名称获取单个进程的状态。

status <name> <name>
获取多个命名进程的状态。

stop <name>
停止一个进程

stop <gname>:*
停止组中的所有进程

stop <gname> <gname>
停止多个进程或组

stop all
停止所有进程

tail [-f] <name> [stdout | stderr](默认stdout)
输出进程日志, Ctrl-C的退出。

tail -100 <name> 是输出stdout的最后100 个字节 <name> stderr 是输出stderr的最后1600 个字节