|
|
Subscribe / Log in / New account

Which init system for Debian?

Which init system for Debian?

Posted Nov 16, 2013 18:28 UTC (Sat) by paulj (subscriber, #341)
In reply to: Which init system for Debian? by smurf
Parent article: Which init system for Debian?

You're describing the race intrinsic to the shell SysV rc/init scripts, I think. We're agreed using shell scripts to start daemons and kill them can be racy.

However, a super-daemon knows the services it manages, knows the processes it has launched and knows their PIDs. All you do is change the configuration and hey presto. E.g., edit inetd.conf or xinetd.d/$SERVICE and HUP the super-daemon, hey presto. Edit inittab and tell init to reload, etc. Again, other Unixes (SysV ones particularly - AIX had quite a few super-daemon service management things, IVR) took this approach with some success.

It was also quite possible, with the previous, simple Linux init to have it run stuff from inittab. Just run the daemon in the foreground.

The claims that *only* the Systemd kitchen-sink-PID-1 service manager can work reliably still seem unfounded to me.

NB: Claims that the Systemd monolithic way is more unified and more manageable are another thing. That may be the case, but I don't have a strong opinion there. Systemd may well also be a huge improvement on the SysV shell initscripts. I'd appreciate it though if people don't try to put words in my mouth as if I'm arguing otherwise, thanks. :)


to post comments

Which init system for Debian?

Posted Nov 16, 2013 18:32 UTC (Sat) by paulj (subscriber, #341) [Link]

Err, "run the daemon in the foreground", many "daemons" have an option to not daemonise for such reasons (and all /should/). Indeed, many default to not doing so and actually require an option to be given to daemonise. :)

Which init system for Debian?

Posted Nov 16, 2013 19:45 UTC (Sat) by smurf (subscriber, #17840) [Link]

>> You're describing the race intrinsic to the shell SysV rc/init scripts

Where did I say that?

The race condition doesn't go away just by rewriting the code in C or whatever.

>> a super-daemon knows the services it manages, knows the processes
>> it has launched and knows their PIDs.

It does not know what else these processes forked off, and thus it cannot clean up after them. Don't ask me how often I had to do that manually, for some Apache-FCGI subprocess that got stuck in la-la-land.

Which init system for Debian?

Posted Nov 19, 2013 1:18 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

I have a perennial problem with daemons starting several acceptor processes. That do NOT quit once the parent dies (for example, Flask webserver).

Systemd solves this nicely by simply slaughtering anything within the service's cgroup.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds