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?

Reply via email to