I found a good series of blogs posts on supervisors today for Unix systems.

Most, but not all, supervisors typically run as PID 1.


It seems that daemontools was one of, if not the first, supervisor.


A fork of daemontools is daemontools-encore.


From the runit site:

runit is a cross-platform Unix init scheme with service supervision


A summary of supervisord:

It 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 it 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.


perp runs in userland. You can install it locally or systemwide, and also run it multiple times against different base folders.


s6 is more recent and looks interesting vs. perp.


nosh is:

…a suite of system-level utilities for initializing and running a BSD or Linux system, for managing daemons, for managing terminals, and for managing logging.