Hacker News new | ask | show | jobs
by beagle3 2026 days ago
All of these init systems, including systemd, upstart and Windows Service Manager, pretend they can properly deal with failure, but they don't do it well or predictably.

If you have a service other services depend on, and then it goes down - you obviously need to restart the service that went down, but you may or may not need to restart the dependents, they may or may not have intermittent failures that are going to trigger other things -- It's just a huge mess.

Almost all systems work almost all of the times but when they don't, it is incredibly hard to reason what will happen because of the interaction between services and init system. The problem is inherent and I don't think a general service manager can fix it.

Even on systems that use systemd, I install djb's daemontools, and run my services under it; It only tries to do the things that can be reasoned about - services are indepedent; if you want to orchestrate dependencies, you need to do so in a way that makes sense for your own services because there is no general solution. It is incredibly simple, yet as robust as all the shiny systems (and perhaps more so).

s6 (on which Obarun is based, if you go deep enough) started life as a daemontools clone, but it added enough complexity to lose the robustness, predictability and simplicity of djb's design.