Supervisor is a process control system for Unix-like operating systems that manages and monitors multiple background processes.
Supervisor solves the problem of reliably keeping long-running processes alive and coordinating their execution on Unix systems. It works as a client/server system where a daemon process (supervisord) manages child processes according to configuration rules, automatically restarting them if they crash and providing a way to start, stop, and monitor them collectively.
Supervisor suits production environments where you need reliable process management without relying on init systems or systemd. It works well for managing multiple application services, workers, or daemons that must stay running. The tool is particularly valuable when you need centralized control over process groups and want straightforward configuration-based management. Supervisor runs on Linux, macOS, Solaris, and FreeBSD, but does not support Windows. It requires Python 2.7 or Python 3.4 and later.
The project maintains a stable, mature codebase with bug reports and contributions handled through GitHub. Pull requests from the community are reviewed and integrated into the main repository.