Linux后台进程管理神器Supervisor

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

安装supervisor

Debian / Ubuntu可以直接通过apt安装:

# apt-get install supervisor

然后,给我们自己开发的应用程序编写一个配置文件,让supervisor来管理它。每个进程的配置文件都可以单独分拆,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名,例如,app.conf定义了一个gunicorn的进程:

[program:app]
command=/usr/bin/gunicorn -w 1 wsgiapp:application
directory=/srv/www
user=www-data

其中,进程app定义在[program:app]中,command是命令,directory是进程的当前目录,user是进程运行的用户身份。

重启supervisor,让配置文件生效,然后运行命令supervisorctl启动进程:

# supervisorctl start app

停止进程:

# supervisorctl stop app

如果要在命令行中使用变量,就需要自己先编写一个shell脚本:

#!/bin/sh
/usr/bin/gunicorn -w `grep -c ^processor /proc/cpuinfo` wsgiapp:application

然后,加上x权限,再把command指向该shell脚本即可。

supervisor还有许多选项,默认的autorestart为unexpected(异常退出),具体请参考supervisor文档。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/7274.html

(0)
晴川运维晴川运维
上一篇 2025年6月9日
下一篇 2025年6月9日

相关推荐

  • Linux资深用户的特征有哪些?

    Linux 用户千差万别,但是我们许多人都有一些相同的习惯。你可能没有本文列出的任何特征,而且如果你是个 Linux 新用户,你可能还不能理解这些特征…… 下面是你可能是 Linu…

    Debian 2025年6月11日
  • frps 一键安装脚本

    支持系统 Centos 7+ Debian 8+ wget -N –no-check-certificate git.io/f.sh && chmod +x f.…

    Debian 5天前
  • Ansible 剧本快速入门指南

    我们已经写了两篇关于 Ansible 的文章,这是第三篇。 如果你是 Ansible 新手,我建议你阅读下面这两篇文章,它会教你一些 Ansible 的基础以及它是什么。 第一篇:…

    Debian 2025年6月13日
  • 对SQLite进行编译

    上周,我一直在做一个 SQL 网站(https://sql-steps.wizardzines.com/,一个 SQL 示例列表)。我使用 sqlite 运行网站上的所有查询,并且…

    Debian 2025年6月8日
  • apt-get的清理操作

    apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 在基于 Debian 的系统上运行 a…

    Debian 2025年6月8日
  • 【Debian GNU/Linux 安装手册】C.5. Debian 分区程序

    C.5. Debian 分区程序 Debian 开发人员选用了几种在不同硬盘和不同体系结构上的分区程序。下面是一个适合您的体系的程序列表。 partman 推荐的 Deb…

    Debian 2025年6月4日
  • 【Debian GNU/Linux 安装手册】D.1. Linux 里的设备

    D.1. linux 里的设备 Linux 的许多特殊文件可以在 /dev 目录下找到。这些文件称为设备文件,其行为与普通文件不同。大多数设备文件的类型是块设备和字符设备…

    Debian 2025年6月4日
  • 各个Linux系统如何修改远程端口ssh端口?

    各个Linux系统如何修改远程端口ssh端口?   在 Linux 系统中,可以通过修改 SSH 配置文件来修改远程 SSH 端口。下面是不同 Linux 发行版中修改 …

    Debian 1天前
  • 用 Portainer.io 来监控和管理 Docker 容器(1)

    随着 Docker 的使用量越来越大,监控 Docker 容器正在变得更有挑战性。每天都有大量的 Docker 容器被创建,因此如何监控它们就变得非常重要。目前已经有一些内置的工具…

    Debian 2025年6月12日
  • 【Debian管理员手册】附录 B. 简短辅导课程

    尽管这本书的主要目标用户是管理员和高级用户,但是我们也不想忽视初学者。这篇附录是一篇讲述操作Unix 计算机基础内容。 B.1. Shell 和基本命令 在Uinx 世界…

    Debian 2025年6月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注