`

良好的程序设计——安装使用supervisord

 
阅读更多

Supervisord是用python实现的进程管理工具,我们可以用它来监控服务运行,安装使用方法如下

sudo easy_install supervisor
echo_supervisord_conf > /etc/supervisord.conf
supervisord -c /etc/supervisord.conf

Supervisord默认的配置文件路径为/etc/supervisord.conf,通过文本编辑器修改这个文件

Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下:

supervisord,初始启动Supervisord,启动、管理配置中设置的进程。

supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。

supervisorctl start programxxx,启动某个进程

supervisorctl restart programxxx,重启某个进程

supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。

supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。

参考:http://www.54chen.com/java-ee/supervisord-manage-service.html 

 

配置示例如下:在/etc/supervisord.conf中添加如下代码,监控nginx进程

[program:web]
command=/usr/local/ciaos/sbin/nginx
process_name=%(program_name)s
umask=022
startsecs=0
stopwaitsecs=0
redirect_stderr=true
stdout_logfile=/tmp/codoon.log	;程序运行错误日志
;numprocs=4
;numprocs_start=1

1,运行supervisord -c /etc/supervisord.conf

2,此时无论我们如何kill正在运行的nginx进程,它都会被立刻唤醒,nginx的父进程就是supervisord进程

ciaos:~ # ps -ef | grep nginx
root     32157 32137  0 10:13 ?        00:00:00 /usr/local/ciaos/sbin/nginx

ciaos:~ # ps -ef | grep super
root     32137     1  0 10:13 ?        00:00:00 /root/bin/python /root/bin/supervisord -c /
etc/supervisord.conf
分享到:
评论

相关推荐

    supervisord管理进程资源

    在这种情况下,我们可以编写客户端程序(通常使用`JAVA`或`Python`),通过`RPC`接口与`supervisord`进行通信,执行启动、停止、查询进程状态等操作。这对于分布式系统来说非常实用,因为管理员可以在任何有网络连接...

    supervisord

    supervisord配置,用于守护服务进程,以及数据库进程,防止进程奔溃

    Python-基于ssh秘钥supervisord的发布系统

    标题中的“Python-基于ssh秘钥supervisord的发布系统”揭示了这是一个使用Python语言构建的自动化部署方案,它依赖于SSH密钥对进行安全的身份验证,并利用supervisord来管理和监控服务进程。在中小公司环境中,这样...

    supervisord.conf配置文档

    可供初学者在学习过程中参考。少走几次度娘就能配置好supervisor

    通过tushare获取数据对股指进行分析,获取数据模块使用linux下的supervisord进行监控.zip

    安装supervisord后,我们需要配置一个ini文件来定义要监控的程序。例如,对于获取股票数据的Python脚本,可以创建一个如下的`stock_data.ini`配置文件: ```ini [program:stock-data] command=/usr/bin/python /...

    Supervisor守护进程离线脚本无脑安装

    3. **解压和编译**:在目标服务器上,使用`tar -zxvf supervisor-x.y.z.tar.gz`命令解压源码包,然后进入解压后的目录,运行`./configure`进行配置,接着执行`make`进行编译,最后使用`sudo make install`进行安装。...

    nginx+supervisord+python

    4. **Python**:Python在这里作为开发语言,用于编写Tornado应用程序。Tornado框架结合Python的简洁性和强大的标准库,使得开发高性能的Web应用变得简单。 **环境配置**: 在Ubuntu系统上部署这样的环境,首先需要...

    supervisord安装操作手册和软件

    安装包(含):supervisor-3.4.0.tar.gz, 依赖包(含):meld3-2.0.0-py2.py3-none-any.whl、pip-19.3.1.tar.gz、setuptools-40.7.3-py2.py3-none-any.whl 依赖环境(亲测):RedHat7.* ,python2.7

    开源项目-ochinchina-supervisord.zip

    4. **配置文件**:与Python版Supervisor类似,ochinchina-supervisord也使用配置文件(通常为`supervisord.conf`)来定义要管理的进程及其相关属性。配置文件包括进程的启动命令、工作目录、环境变量、日志位置等...

    docker-supervisord-monitor:Docker Supervisord 监视器

    在Docker环境中,Supervisord作为进程管理器,可以确保容器内的应用程序和服务在启动后保持运行状态,并在发生故障时自动重启。下面我们将深入探讨Docker与Supervisord的结合使用以及其监控功能。 首先,让我们了解...

    supervisord:一个 supervisord Docker 镜像,记录到标准输出,从子镜像导入配置,并且可以通过 supervisorctl 进行检查

    用于使用进程监视器运行应用程序的 Docker 映像。 这个图片: 使用debian:jessie基础镜像 从 Debian 存储库安装 Supervisor 将 Supervisor 配置为登录到/dev/stdout以便 Docker 可以处理日志 导入您添加到/etc/...

    python进程管理工具supervisor的安装与使用教程

    前言 在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用...Supervisord是运行在Python环境下的服务监控程序,所以在安装supervisord之前必须有python环境。 yum install python-setuptools easy_in

    supervisord-php:一个简单的用于 supervisord 的 PHP XML-RPC 客户端库

    $s = new Supervisord('127.0.0.1', 9001, 'username', 'password'); print_r( $s->getAllProcessInfo() ); 如何贡献 拉取请求 分叉存储库 为每个功能或改进创建一个新分支 从每个功能分支向开发分支发送拉取请求 将...

    linux服务器部署1

    本文将主要讲解如何在Linux环境中进行服务器部署,特别是针对防火墙设置以及使用`supervisord`管理应用程序。首先,让我们从安装必要的软件开始。 1. **安装 .NET Core** 在Linux服务器上部署.NET应用程序,首先...

    PHPVM:你的下一个使用 HHVM、Nginx、Mysql、Redis 和 Supervisord 的 PHP 堆栈——建立在 Vagrant 之上

    您的下一个 PHP 堆栈使用 HHVM、Nginx、Mysql、Redis 和 Supervisord - 构建在 Vagrant 之上。 你将会拥有 一个全新设置的 Ubuntu 虚拟机,运行: • Base Packages: Base Items (Curl, Git and more!) • ...

    win-supervisor.zip

    - **服务安装与卸载**:了解如何使用`install.go`等源代码实现的工具将supervisord作为Windows服务进行安装和卸载。 总的来说,"win-supervisor.zip"提供了一个在Windows下运行和管理进程的工具,用户需要熟悉...

    docker-supervisord:Docker容器的基本映像,它使用超级用户来管理服务

    对于Docker容器基本映像使用supervisord管理服务。 用法 该映像不包含任何服务,因为它被认为是其他容器的基础映像。 要在Dockerfile使用它,只需使用: FROM odarriba/supervisord:latest 然后,您可以通过在/...

    centos7 安装dotnet完整操作步骤

    centos7 安装dotnet完整操作步骤,并用supervisord服务启动dotnet程序

    supervisor-3.3.2.tar.gz

    5. **使用命令行工具**:`supervisorctl` 是 `supervisord` 提供的命令行工具,用于对进程进行管理,如 `supervisorctl start <process_name>` 开启进程。 6. **监控**:通过访问 `http://localhost:9001`(默认...

    check_supervisord

    check_supervisord 一个用 Python 编写的 Nagios NRPE 插件,用于监控 Supervisord 服务器和由它控制的进程。 要求 Python 2.7 正常运行的 NRPE 设置获取说明 安装 将 check_supervisord.py 复制到 /usr/local/...

Global site tag (gtag.js) - Google Analytics