skillfed

supervisor

A system for controlling process state under UNIX

supervisor v4.3.0 13.2M downloads/30d#1,293 on PyPI9,102
Permissive license BSD-derived (http://www.repoze.org/LICENSE.txt) AGING released

What it is and what it does

Supervisor is a long-established process control system for UNIX environments that runs as a daemon to monitor and manage child processes. It provides both a command-line interface (supervisorctl) and a web-based dashboard for starting, stopping, restarting, and monitoring processes. The system logs process output, tracks process state changes, and can automatically restart failed processes based on configured exit codes.

The package has no runtime dependencies and installs as a pure Python wheel, making it lightweight to deploy. It supports both Python 2.7 and Python 3.4 and later, though recent versions (3.8+) no longer require setuptools at runtime. The codebase is stable and production-ready, with a long history of bug fixes and platform compatibility improvements, though development has slowed in recent years.

Use it for:

  • Keep long-running application servers (Django, Flask, etc.) alive and automatically restart them if they crash.
  • Manage multiple background worker processes (Celery, RQ) and coordinate their lifecycle from a single control point.
  • Monitor and control system daemons and custom services across a fleet of servers using the XML-RPC API.
  • Aggregate logs from multiple processes into centralized files or syslog for easier debugging and auditing.
  • Run scheduled or event-driven tasks with automatic restart and state tracking in production environments.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Supervisor is a client/server system that monitors and controls multiple processes on UNIX-like operating systems, allowing you to start, stop, and restart them from a central management interface.

Yes, if you are running UNIX-based production systems and need reliable process supervision without external dependencies. Supervisor is a proven, stable tool with no runtime dependencies and a permissive license. The aging maintenance status (356 days since last release) is not a blocker for stable deployments, but do not expect rapid feature additions or quick responses to new platform issues. Not suitable for Windows environments.

Install

supervisor on PyPI

pip

pip install supervisor

uv

uv add supervisor

poetry

poetry add supervisor

Installing supervisor

Before you install

Low installation friction with no runtime dependencies. Maintenance status is aging—last release was 356 days ago—but the repository remains active with recent commits and the package is marked Production/Stable. Suitable for long-running deployments where stability matters more than rapid feature iteration.

License in practice

Licensed under a BSD-derived license (permissive), which allows commercial and private use with minimal restrictions. No notable licensing constraints for typical deployment scenarios.

Quickstart

pip install supervisor

# After installation, configure supervisord.conf and start the daemon:
supervisord -c /etc/supervisor/supervisord.conf

# Use supervisorctl to manage processes:
supervisorctl start program_name
supervisorctl stop program_name
supervisorctl restart program_name

Supervisor only runs on UNIX-like operating systems (Linux, macOS, Solaris, FreeBSD). It will not run on Windows. Requires Python 2.7 or Python 3.4 or later. On Python versions before 3.8, setuptools must be installed separately.

Verify before relying

  • Whether the package's web UI and XML-RPC interface are suitable for your security model and network topology.
  • Performance characteristics when managing hundreds or thousands of processes simultaneously.
  • Integration requirements with container orchestration systems or systemd on modern Linux distributions.

Package facts

License BSD-derived (http://www.repoze.org/LICENSE.txt) (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 356 days since the last release
Last repo commit
First released
Downloads 13,194,638/month — #1,293 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: supervisor-4.3.0-py2.py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: No Input/Output (Daemon)Intended Audience :: System AdministratorsNatural Language :: EnglishOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: System :: BootTopic :: System :: MonitoringTopic :: System :: Systems Administration

Tags

process management unixdaemon supervision controlprocess monitoring restartunix process managersupervisord process controlbackground process managementsystem process supervisor
process-managementunix-daemonproduction-ops

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

simpervisor

Provides async methods to start, manage, and…

permissive · top 15,000 on PyPI

superlance

Superlance provides plugin utilities for…

permissive · top 15,000 on PyPI

supervisord-dependent-startup

A Supervisor plugin that orchestrates service…

permissive · top 15,000 on PyPI

python-daemon

Implements PEP 3143 well-behaved Unix daemon…

permissive · top 5,000 on PyPI

cotyledon

Cotyledon provides a framework for building…

permissive · top 15,000 on PyPI

circus

Circus runs and watches multiple processes and…

permissive · top 15,000 on PyPI

kantoku

Kantoku runs and watches multiple processes and…

permissive · top 15,000 on PyPI

gravity

Gravity manages multiple Galaxy server…

permissive · top 15,000 on PyPI

Glances

Glances is a cross-platform system monitoring…

copyleft · top 15,000 on PyPI

tailer

Tailer provides functions to read lines from…

permissive · top 15,000 on PyPI