runit vs Supervisor
runit
smarden.orgSupervisor
supervisord.orgSide by side
| Figure | runit | Supervisor |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | Yes | — |
| Web | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Process Monitoring Software | 8.2 (#5) | 7.3 (#21) |
| Installation | The maker provides a source archive and instructions to compile and install runit, including manual installation without root access. | Supervisor can be installed with pip or from a downloaded distribution, including on systems without internet access. |
| Purpose | runit is a cross-platform Unix init scheme with service supervision and a replacement for sysvinit and other init schemes. | Supervisor is a client/server system for controlling processes on UNIX-like operating systems. |
| Support | The maker directs users to the documentation, FAQ and supervision mailing-list archive for help. | The project directs users to its GitHub issues page to report bugs or other errors. |
| Supported systems | The maker lists GNU/Linux, BSD variants, macOS and Solaris, with adaptation possible for other Unix systems. | Supervisor is tested on Linux, Mac OS X, Solaris and FreeBSD and does not run under Windows. |
Plans
In their own words
runit
runit is a free Unix init scheme that supervises services and can replace sysvinit or other init schemes. It runs on GNU/Linux, BSD systems, MacOSX and Solaris, and can be adapted to other Unix operating systems. As process 1, it manages boot, normal operation and shutdown in three stages. The runsv component launches a service's run program and restarts it if it exits; an optional finish program and log service can also be used. The sv utility reports status and provides controls to start, stop, restart, pause or signal supervised services. For logs, svlogd can filter messages and write automatically rotated logs. The chpst utility changes process state and sets limits for resources such as memory, open files, process count, output size, core size and CPU time. runsvdir can start and monitor runsv processes for up to 1,000 service subdirectories. runit can supervise services alongside an existing init scheme without replacing it. The maker provides source and installation instructions, including manual installation without root access. Its documentation warns that UDP logging is unreliable and should be confined to private networks.
Supervisor
Supervisor is a free client/server system for starting, monitoring and controlling processes on UNIX-like operating systems. It can restart processes after crashes and report their status. Administrators set per-process options in an INI-style configuration file, including failed-process restarts and automatic log rotation. Priorities and groups let related processes be started or stopped together.
Control is available through a command-line client, an optional browser interface and an XML-RPC interface. The browser view can display and control process status when the HTTP server is enabled; authentication can be required for commands over UNIX-domain or TCP sockets. Supervisor also has an event-notification protocol usable by programs in any language and extension points for Python developers. It can be installed with pip or from a downloaded distribution, including on systems without internet access. It is intended for project- or customer-related processes, not as a replacement for init as process ID 1. It runs on supported UNIX-like systems and does not run under Windows.