supervisord
是一个客户端/服务器系统,用于监控和控制UNIX-like操作系统上的多个进程。这个工具主要用于自动启动、重启和关闭后台守护进程。supervisord
是Supervisor包的一部分,它使用配置文件来管理进程。
Linux supervisord命令适用的Linux版本
supervisord
在大多数Linux发行版上都可以使用。如果在您的系统上没有预装,可以使用以下命令进行安装:
# 基于apt的发行版(如Debian、Ubuntu、Raspbian、Kali Linux等)
sudo apt-get update && sudo apt-get install supervisor
# 基于yum的发行版(如RedHat,CentOS 7等)
sudo yum update && sudo yum install supervisor
# 基于dnf的发行版(如Fedora,CentOS 8等)
sudo dnf update && sudo dnf install supervisor
# 基于apk的发行版(如Alpine Linux)
sudo apk add --update supervisor
# 基于pacman的发行版(如Arch Linux)
sudo pacman -Syu && sudo pacman -S supervisor
# 基于zypper的发行版(如openSUSE)
sudo zypper ref && sudo zypper in supervisor
# 基于pkg的FreeBSD发行版
sudo pkg update && sudo pkg install supervisor
# 基于pkg的OS X/macOS发行版
brew update && brew install supervisor
Linux supervisord命令的基本语法
语法格式如下:
supervisord [options]
Linux supervisord命令的常用选项或参数说明
选项 | 描述 |
---|---|
-c | 指定配置文件的路径 |
-n | 在前台运行supervisord |
-d | 在后台守护进程模式下运行supervisord |
-h | 显示帮助信息 |
-v | 显示版本信息 |
-u | 以指定用户身份运行 |
Linux supervisord命令实例详解
实例1:启动supervisord
[linux@bashcommandnotfound.cn ~]$ supervisord -c /etc/supervisord.conf
此命令使用-c
选项来指定配置文件路径,并启动supervisord
。
实例2:在前台运行supervisord
[linux@bashcommandnotfound.cn ~]$ supervisord -n
使用-n
选项可以让supervisord
在前台运行,便于观察其日志输出。
实例3:以特定用户身份运行supervisord
[linux@bashcommandnotfound.cn ~]$ supervisord -u www-data
使用-u
选项可以指定supervisord
运行的用户,这在设置进程权限时非常有用。
实例4:查看supervisord版本
[linux@bashcommandnotfound.cn ~]$ supervisord -v
运行上述命令会输出supervisord
的版本信息。
实例5:检查supervisord状态
supervisorctl status
该命令将列出所有由supervisord管理的进程的状态。
实例6:启动由supervisord管理的所有进程
supervisorctl start all
这条命令会启动配置文件中定义的所有进程。
实例7:停止由supervisord管理的所有进程
supervisorctl stop all
运行此命令将停止所有由supervisord管理的进程。
实例8:重新加载配置文件并更新进程
supervisorctl reread
supervisorctl update
首先,使用reread
命令让supervisord
读取配置文件的最新变更。然后,使用update
命令更新进程。这样,任何配置文件中的更改都会应用到相应的进程中,而不需要重启supervisord
。
实例9:重启指定的进程
supervisorctl restart myprogram
将myprogram
替换为您在supervisord
配置文件中定义的程序名称。这个命令将停止并重新启动指定的进程。
实例10:查看由supervisord管理的进程的日志
supervisorctl tail myprogram
此命令将显示指定进程的最新日志输出。如果您想实时跟踪日志,可以加上-f
参数。
实例11:清除由supervisord管理的进程的日志
supervisorctl clear myprogram
这个命令会清除指定进程的日志文件内容。
实例12:在Web界面管理supervisord
如果配置文件中启用了HTTP服务器,您可以通过浏览器访问supervisord
的Web界面来管理进程。首先确保配置文件中有类似下面的设置:
[inet_http_server]
port=127.0.0.1:9001
username=user ; 可选
password=123 ; 可选
然后,您可以在浏览器中访问 http://127.0.0.1:9001
,并使用指定的用户名和密码来登录管理界面。
Linux supervisord命令的注意事项
- 请确保在使用
supervisord
之前已经正确安装并配置了/etc/supervisord.conf
配置文件。 supervisord
通常需要root权限来启动服务,特别是当服务需要监听低端口号时。- 如果尝试启动
supervisord
时遇到bash: supervisord: command not found
错误,请根据上面的安装指南在您的系统中安装supervisor
。 - 在修改
supervisord
的配置文件后,需要重新启动supervisord
以使更改生效。
评论区