tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: How Unix manages processes in userland



On 06/12/2013 8:42, David Holland wrote:
There are a number of recent attempts to rearrange the way services
and daemons get started (and restarted) -- there's launchd, upstart,
at least one other whose name I'm forgetting, and perhaps others. So
far, none of these has seemed to me like a very good idea; they all
seem hastily conceived (without e.g. an understanding of how
init/getty/login traditionally works) and some of them just don't seem
very ... unixish.

http://en.wikipedia.org/wiki/OpenRC

dh is right on one part, it was written without any knowledge of init/getty/login. But then, that wasn't it's job. It's job was to start & stop things in a dependent order. The fact it dealt with them was just an aside. I would imagine others have taken the same approach.

I think if we want to improve the state of the art in this regard the
way to do it is to look at what a "service" is (in the sense of things
like "service nfsd start", not /etc/services) and try to come up with
some abstractions that make sense and aren't oversimplified or
crippled.

This is a very important point, and most init systems I've seen get it wrong.
Oh so wrong.

I'm not going to say too much on this topic other than that I've written one, patched two others and tinkered with a forth. OpenRC can run quite nicely on NetBSD ... but I don't use it anymore. That doesn't stop the existing dev's emailing me with problems every once in a while ;)

NetBSD's rc.d system works very nicely for me. Could I improve it? Sure! Do I have the time, probably not. The only thing that it needs from my pov is a dependency graph, so you can see the dependency ordering and needs - it took my far to long how to work out how to get syslogd to start before dhcpcd when I had to debug a boot time only issue.

Thanks

Roy


Home | Main Index | Thread Index | Old Index