this post was submitted on 19 May 2024
239 points (96.9% liked)
linuxmemes
21198 readers
90 users here now
Hint: :q!
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I believe the left hand is a shell
fork-bomb
, on the assumption that anything that zany is probably malicious.And the right hand is a way to tell
Make
to use up all available system resources:Edit: I think the
make
command is technically only a problem when run for aMakefile
that tries to do too many things, and has at least one mistake in dependency controls. So... for everyMakefile
I ever encountered (or that I ever wrote!)Yeah. They're the same picture
You are correct, left hand is a fork bomb. Specifically, it creates and then runs a function named ":". What this function does is pipe its output into itself while running in a background process, which instantly spawns infinite copies of itself. Technically I believe the : character could be any character as its just a name. The creator just picked a colon for aesthetics.
I always just kind of glazed over looking at that and just know "it's a fork bomb" and basically what it does
With your explanation, I can now actually understand all the parts and how they work, it actually makes sense
Now I get why it does what it does and how it works. I never thought that the colon was the variable name but it makes so much sense!
I think it can also get weird when you call other makefiles, like if you go
make -j64
at the top level and that thing goes on to call make on subprojects, that can be a looooot of threads of that-j
gets passed down. So even on that 64 core machine, now you have possibly 4096 jobs going, and it surfaces bugs that might not have been a problem when we had 2-4 cores (oh no, make is running 16 jobs at once, the horror).so without an argument to -j the number of concurrent jobs is unbounded???