1.安裝
先確保我們的系統(tǒng)安裝有 Python 環(huán)境和 pip,然后直接使用 pip 安裝即可。
$ pip install supervisor
我們可以用查看版本號的方法檢查是否成功安裝:
$ supervisord -v
使用 echo_supervisord_conf 命令可在終端打印出 Supervisor 的配置文件:
$ echo_supervisord_conf
2.使用 Supervisor 運(yùn)行 Supervisor
為了讓 Supervisor 運(yùn)行起來,我們先給它添加可執(zhí)行的程序。添加程序需要在 配置文件中添加,其路徑為:/etc/supervisor/supervisord.conf
我們用 Linux 自帶的一個簡單程序 cat 作為測試,在配置文件中添加以下部分:
# /etc/supervisor/supervisord.conf
[program:foo]
command=/bin/cat
現(xiàn)在運(yùn)行 supervisord 命令就能啟動 Supervisor。
$ sudo Supervisor
Supervisor 啟動時(shí)候會搜索默認(rèn)的配置文件路徑以讀取要配置,我們可以使用一個 -c 參數(shù)來指定配置文件路徑。
$ sudo supervisord -c /etc/supervisor/supervisord.conf
關(guān)于 Supervisor 更多的命令行參數(shù)見 官方文檔說明。
3.使用 supervisorctl 管理 Supervisor
使用 supervisorctl 命令會進(jìn)入一個 shell 控制臺,允許你控制當(dāng)前由 supervisorctl 管理的進(jìn)程。
$ sudo supervisorctl
foo RUNNING pid 28646, uptime 4:26:03
supervisor>
可以看到當(dāng)前正在運(yùn)行的進(jìn)程 foo現(xiàn)在我們可以在該控制臺進(jìn)行管理操作了。
supervisorctl 參數(shù):
-
help:打印可用命令列表
supervisor> help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
add <name> [...]:激活一個(配置文件中配置好的)進(jìn)程或組remove <name> [...]:把一個進(jìn)程或組移除已激活狀態(tài)update/update all:更新,將重新加載配置文件,并更具更新后的配置文件重新啟動程序update <gname> [...]:更新指定的組,參數(shù)為組名clear <name>/clear all:清除進(jìn)程日志文件pid/pid <name>/pid all:獲取 PIDreload:重啟 supervisordreread:重新加載配置文件(不重啟)restart <name>/restart <gname>/restart all:重啟某個進(jìn)程或全部進(jìn)程(不會重新加載配置文件)start <name>/start <gname>/start all:啟動某個進(jìn)程或全部進(jìn)程stop<name>/stop<gname>/stopall:暫停某個進(jìn)程或全部進(jìn)程status/status <name>:打印全部或某個進(jìn)程的狀態(tài)