Live data from Hacker News

How to Crash Systemd in One Command

agwa.name

21–30 of 193 posts

Re: How to Crash Systemd in One Command

#21

Earlier quoted context omitted.

What are the other choices? Upstart was awful, and init is a hundred years old.

launchd, solaris smf, etc. There were tons of choices that were thrown away for silly reasons.

launchd is almost as bad, as is SMF (XML - Yuck). But at least they're still mostly focusing on process and service management.

Re: How to Crash Systemd in One Command

#22

It seems like it is quite fashionable to hate on systemd, and it seems like systemd is kindof a piece of crap - in some ways. However, linux is missing basic functionality other os's offer, and systemd is showing up and trying to fill in those blanks. This is open source, if you don't like systemd, if you think it's crap, if you think there are obviously better ways to do it, well, what are you waiting for then? Syst…

I strongly disagree. I didn't need anyone to "show up" to replace my init system in production across several thousand servers, and the way systemd "won" that battle wrt Debian was, to be polite, controversial, political and extremely divisive. They sure as heck didn't win because "they showed up and no one else did". They showed up and RedHat's money showed up with them.

I hold no animus towards the systemd project's goals or aspirations, but I have yet to hear a compelling reason for systemd to be shipping in it's current state.

Re: How to Crash Systemd in One Command

#23
post #18

Earlier quoted context omitted.

The Unix philosophy: Write programs that do one thing and do it well. Systemd doesn't observe the Unix philosophy and that bothers many people.

It's baffling to see people insist that that's the UNIX philosophy when the UNIX philosophy has always been about monolithic kernels over microkernels, so "do one thing" is out the window, and about worse-is-better over do-the-right-thing ( https://www.dreamsongs.com/RiseOfWorseIsBetter.html ), so "do it well" is out the window. And the userspace tools don't follow this either. Quoting http://prog21.dadgum.com/139.ht…

Agree 100%. There isn't some magic potion that makes commands compose simply and efficiently.

Re: How to Crash Systemd in One Command

#24
post #19
post #2

> "Systemd is defective by design." The most succinct explanation of Systemd possible.

I've complained a few times that systemd haters havent explained the hate. having read this post I'd say a slightly less succinct but infinitely more informative version would be > "Systemd is defective by design because they totally disregard the fail-safe by design rules"

Yes. I wish people would explain their hatred. I understand that there are valid reasons to hate systemd, which is why I avoid it like the plague. But so many people get sucked in by the initial usefulness, and don't see the problems lurking beneath the surface.

Re: How to Crash Systemd in One Command

#25
post #9

Earlier quoted context omitted.

Alternatives have been implemented before: http://cr.yp.to/daemontools.html http://smarden.org/runit/ The more you look at any of DJB's software, the more of the future you'll see.

you forgot http://skarnet.org/software/s6/

Ah, forgot to list that... he's got this great page too: http://skarnet.org/software/skalibs/djblegacy.html

Re: How to Crash Systemd in One Command

#26

It seems like it is quite fashionable to hate on systemd, and it seems like systemd is kindof a piece of crap - in some ways. However, linux is missing basic functionality other os's offer, and systemd is showing up and trying to fill in those blanks. This is open source, if you don't like systemd, if you think it's crap, if you think there are obviously better ways to do it, well, what are you waiting for then? Syst…

I think Systemd is winning because it works (in the overwhelming majority of cases), and no one cares about init systems except the vocal minority.

Re: How to Crash Systemd in One Command

#27
post #8

I've been thinking for a bit that it's reasonably easy to write a PID 1 that reaps children and sends siginfo_t structs over a pipe to PID 2, which can be an init system as monolithic as you want. Of course, it would also be simple for the kernel to allow PID 1 to die/crash, and just restart it instead of panicking. I don't know why the kernel continues to treat PID 1 so specially—if the ewontfix.com PID 1 is suffici…

> I don't know why the kernel continues to treat PID 1 so specially

By design all processes inherit from PID 1 (directly or indirectly), so you always have an unbroken tree from every process back to PID 1. PID1 aka init is supposed to do bookkeeping (e.g. zombie processing), and if PID1 crashes the bookkeeping records are lost.

Because of this, it is better to fail hard, instead of allowing for corrupted process trees or similar.

Also, ps, top and basically every program that works with processes expects one root process for the tree. Breaking this would basically break compatibility with every existing userland (which the kernel cares the most about!)

Re: How to Crash Systemd in One Command

#28
post #6

It seems like it is quite fashionable to hate on systemd, and it seems like systemd is kindof a piece of crap - in some ways. However, linux is missing basic functionality other os's offer, and systemd is showing up and trying to fill in those blanks. This is open source, if you don't like systemd, if you think it's crap, if you think there are obviously better ways to do it, well, what are you waiting for then? Syst…

> "Systemd is winning because they showed up and basically nobody else did" I can't see how you would qualify this statement, which is utterly false. Specifically, systemd adoption was the result of political pressure by LP (the author), who works at Red Hat. There are plenty of other choices out there. The idea that systemd won because of some kind of meritocracy is wrong. It was mostly political with some technical…

systemd is by far the best linux init system. The options are sysvinit, OpenRC, Upstart, and systemd. Of those, the only reasonable choice is systemd.

Upstart was almost good, but its really frustrating to use. OpenRC is decent, but confusing.

systemd solved problems, not only that it solved them well.

The scope creep of systemd is something that is a bit alarming, however even with the creep it's doing a good job. The tools that it is building work fairly well, and its a relatively new project.

Re: How to Crash Systemd in One Command

#30

This is an excellent writeup explaining without hysterics why systemd is terrible software. Unfortunately, I expect that this post will be brigaded by systemd-apologists anyways, denying newcomers to the debate the opportunity to hear the facts...

I'm not sure how this comment is helpful to the discussion. As far as I can tell, you'd rather only hear the facts that fit your opinion of systemd as terrible software. I think the obvious right answer is that both sides present only facts and let newcomers decide based on that.

I completely agree with you. That would be nice, if people were presented with facts and a choice. But they weren't, and aren't.
Post reply on HN