experiment: making a shim for SysV-styled installs using rc scripts

From: Avery Payne <avery.p.payne_at_gmail.com>
Date: Thu, 13 Oct 2016 15:33:57 -0700

I know some people will cringe a bit, but hear me out. There are still
lots of older installs out there, but none of them will give you a true
supervisor when you start a service. The scripts basically start the
daemon, make a note of its PID, and then assume it's still running.

What if you could keep the existing structure and "service foobar whatever"
scripting, but replace the actual /etc/init.d scripts with a shim, one that
would activate the appropriate daemon and invoke supervision when you
called it? A few of the existing problems would go away - there would be a
real supervisor and no stale PID files, etc. In effect, gluing the
supervisor to the existing framework eliminates some of the most glaring

 I hacked together a little script to try it out. The issues I've
immediately run into are:

* things like "reload" won't work, because there really isn't a consistent
method of signalling a daemon to "reload its settings". The closest I can
get is to map "service foobar reload" to having a SIGHUP sent to the daemon
being supervised.

* you still have all the restrictions of the structure of the system, i.e.
6 runlevels, no parallel startup, etc.

I'm still exploring this a little bit. Would this shim have any real
value, other than to help transition older systems into a full
supervisor-plus-system-state-manager? Comments and ideas?
Received on Thu Oct 13 2016 - 22:33:57 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC