Subject: Re: rc.d (Was Re: run levels (was Re: The new rc.d stuff...))
To: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
From: Perry E. Metzger <perry@piermont.com>
List: current-users
Date: 04/24/2000 11:11:38
Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us> writes:
> IMHO, if you want to be able to dynamically enable/disable subsystems
> based on dependancies, you need to keep track of which ones are
> currently running.
> 
> I think this would be best done using a different model for starting
> daemons/subsystems, more akin to an inetd/init model (where a
> management daemon remains as a parent to the managed services) as
> opposed to an rc "fire and forget" model.

I've seen this done for AIX, which had a metadaemon facility for
starting and keeping track of running daemons. I'm not sure I liked it
-- it looked good on paper but it was too complex and ugly in
practice.

I suspect we could do nearly as well if we could add facilities to
kill and ps to keep track of processes by name, and/or track them by
making sure (based on their .pid files) that they are still
there. Scripts could then judge dependencies.

The only real advantage of a metadaemon is it lets you automatically
restart daemons that crash, but in my opinion, that's a crock. You
should make sure the daemons don't crash in the first place. Sure
enough, under NetBSD and similar systems, it is very rare to see
daemons crash, but under AIX, it happened all the time...

-- 
Perry Metzger		perry@piermont.com
--
"Ask not what your country can force other people to do for you..."