A system for controlling process state under UNIX
Supervisor shares some of the same goals of programs like launchd, daemontools, and runit. Unlike some of these programs, it is not meant to be run as a substitute for init as "process id 1".
Instead Supervisor is meant to be used to control processes related to a project or a customer, and is meant to start like any other program at boot time.
Supervisor has been tested and is known to run on Mac OS X (10.4 and 10.5), Linux (Ubuntu Dapper/Feisty/Gutsy, and Fedora), and Solaris (10 for Intel) and FreeBSD. Supervisor will likely work fine on most UNIX systems.
- Simple - Supervisor is configured through a simple INI-style config file that’s easy to learn. It provides many per-process options that make your life easier like restarting failed processes and automatic log rotation.
- Centralized - Supervisor provides you with one place to start, stop, and monitor your processes. Processes can be controlled individually or in groups. You can configure Supervisor to provide a local or remote command line and web interface.
- Efficient - Supervisor starts its subprocesses via fork/exec and subprocesses don’t daemonize. The operating system signals Supervisor immediately when a process terminates, unlike some solutions that rely on troublesome PID files and periodic polling to restart failed processes.
- Extensible - Supervisor has a simple event notification protocol that programs written in any language can use to monitor it, and an XML-RPC interface for control. It is also built with extension points that can be leveraged by Python developers.
- Compatible - Supervisor works on just about everything except for Windows. It is tested and supported on Linux, Mac OS X, Solaris, and FreeBSD. It is written entirely in Python, so installation does not require a C compiler.
- Proven - While Supervisor is very actively developed today, it is not new software. Supervisor has been around for years and is already in use on many servers.
In a hurry? Add it to your Download Basket!
What's New in This Release:
- Fixed an XML-RPC bug where the ElementTree-based parser handled strings like ``hello`` but not strings like `hello``, which are valid in the XML-RPC spec. This fixes compatibility with the Apache XML-RPC client for Java and possibly other clients.