Estimated read time: 2 minutes
I just found this podcast, it’s a bit dated since it happened in August and things have been improved a bit since then, but still I was happy to listen it. (The interesting part starts at 1:10:50; 17 minutes.)
I already had a short post about systemd, and I mentioned the killer feature for me is the compact distro-independent service file (initscript for sysvinit) format it uses, since even if the initscript format we use in Frugalware right now is mostly bullshit-free, it’s still more bloated than the systemd service files.
Now back to why I began writing this post. :) So there is the post about systemd, but it’s rather long, and it’s easy to miss the point. Since the previous post, I think there are a few more killer features in systemd:
-
Every service is started in a separate control group (cgroup). Do you remember the situation when you wanted to know who the hell started a given particular process? This is typically a problem if the process is running as root. Now this is no longer a problem, systemd-cgls will show you if it was started by a user or a given service, etc. (Yes, I consider this a security feature.)
-
Upstart already had this "restart if it crashed" feature, but systemd does it better: if the daemon supports socket activation, then messages sent to the socket are buffered by the kernel, and no message will be lost during the restart.
-
systemd provides this on-demand feature, which is pretty much like inetd, so hopefully we can get rid of inetd, which was a constant problem previously. (We inherited a fork of the OpenBSD inetd from Slackware, and being a fork it did not improve since years, causing a constant problem.)
Why writing this post today? Because this morning systemd appeared in -current, so you can even try it out without installing any unofficial package.