supervisor
A system for controlling process state under UNIX
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 supervisoruv
uv add supervisorpoetry
poetry add supervisorInstalling 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
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
simpervisorProvides async methods to start, manage, and…
permissive · top 15,000 on PyPI
superlanceSuperlance provides plugin utilities for…
permissive · top 15,000 on PyPI
supervisord-dependent-startupA Supervisor plugin that orchestrates service…
permissive · top 15,000 on PyPI
python-daemonImplements PEP 3143 well-behaved Unix daemon…
permissive · top 5,000 on PyPI
cotyledonCotyledon provides a framework for building…
permissive · top 15,000 on PyPI
circusCircus runs and watches multiple processes and…
permissive · top 15,000 on PyPI
kantokuKantoku runs and watches multiple processes and…
permissive · top 15,000 on PyPI
gravityGravity manages multiple Galaxy server…
permissive · top 15,000 on PyPI
GlancesGlances is a cross-platform system monitoring…
copyleft · top 15,000 on PyPI
tailerTailer provides functions to read lines from…
permissive · top 15,000 on PyPI