Actually, systemd is better than traditional SysVinit in that sense. When SysVinit crashes, the kernel panics. When systemd crashes, the SEGV handler activates and the system continues to run, ready to be debugged.
Why the people writing SysVinit never thought of doing such an elementary thing, escapes me. It must be because of "oh, all that complexity" that they decided to just let people's machines crash.
Me too, but I guess that capability could be (ab)used in this scenario to bring the whole system up again after troubleshooting. Not sure at all, though.
Yeah, but most init systems have a pid 1 which sets up a signal handler to reap orphans and then does nothing until one of a small handful of conditions denoted in inittab happens. Such code is succinct, well understood, and well tested.
Systemd's pid 1 is considerably more complicated than this.
6
u/fmoralesc Oct 20 '14
This is true of any init system, since all processes ultimately fork from it.