Importing djb's public domain daemontools?

Tom Rhodes trhodes at FreeBSD.org
Tue Jan 17 23:52:57 UTC 2012


On Tue, 17 Jan 2012 13:57:54 -0800
Jos Backus <jos at catnook.com> wrote:

> On Tue, Jan 17, 2012 at 6:24 AM, Tom Rhodes <trhodes at freebsd.org> wrote:
> 
> > On Mon, 16 Jan 2012 23:50:37 -0800
> > Doug Barton <dougb at FreeBSD.org> wrote:
> >
> > > On 01/16/2012 22:32, Jos Backus wrote:
> > >
> > > > I want/need a solution that works in (nearly) all cases and is devoid
> > of
> > > > complex code trying to track state that is already represented
> > elsewhere
> > > > in the system (the process table and the parent/child process
> > > > relationship). I want a solution that can reliably handle a crashing
> > > > server that doesn't clean up its pidfile (the finish script
> > > > functionality in daemontools-encore provides this),
> > >
> > > We get it, you want daemontools. It's in the ports, you can have it.
> > >
> > > > and I want a unified
> > > > control interface for the services running on a box,
> > >
> > > rc.d provides that, and service(8) makes that easier.
> > >
> > > > a la launchd or what have you.
> > >
> > > We've looked at importing launchd, or something like it. It's not a bad
> > > idea, it's just way more complex than it sounds. And a lot more work
> > > than "hey, let's import daemontools."
> > >
> > > If we were going to do something like this I think we should properly
> > > spec out what the goals should be, what the available solutions are, and
> > > what we want our ultimate solution to look like when we're done.
> > >
> > > > This isn't about religion but about missing base system
> > > > functionality - the ability to reliably control services running on a
> > box.
> > >
> > > And my argument is that we already have that in the base, it's just not
> > > the one you want; and since it's not the one you want you're redefining
> > > "reliably" to suit your needs.
> >
> > Just use/improve my fscd.  I meant to import it but have
> > just ended up getting too busy.  Now, I'm way too busy and
> > would be more than happy to help anyone bring it in.
> >
> 
> I looked at fsc briefly but it seems to use pidfiles as well. I also don't
> like the BUGS section of fscd.8. The daemontools approach doesn't have this
> issue; if a service under daemontools' control dies for whatever reason,
> the OS will notify supervise and the finish script (in daemontools-encore)
> can perform any user-directed action as necessary.
> 

That bug could be fixed (IIRC what it was) - and it does most of the
legwork you're talking about, removing pidfile requirements would
probably be trivial for someone with a free evening.  Regardless, I
tried to find a common ground with launchd and nothing, the
community is more than welcome to make changes.  Maybe I'll
just test build and bring it in, then people can make it work the
way they'd like.  ;)

--
Tom Rhodes


More information about the freebsd-arch mailing list