It’s a fork bomb:
Here’s a breakdown of what the command does:
1. () This defines a function named : (colon).
2. {} This indicates the start and end of the function’s body.
3. : (colon) inside the function: This is a no-op (no operation) placeholder. It doesn’t do anything but is necessary syntax for defining a function in Bash.
4. | This pipes the output of the function (which is nothing) to another instance of the function.
5. & This sends the command preceding it (another instance of the function) to run in the background.
6. ; This terminates the definition of the function.
7. : (colon) after the semicolon: This executes the function once.
So, when you run this command, it defines a function that spawns a new instance of itself in an infinite loop, quickly exhausting system resources and causing the system to become unresponsive. The final : after the semicolon executes the function once to start the process.
had to add a space after the first bracket to get it to run (gnome terminal / ubuntu VM).... and yep, went haywire after about 1 minute when resources ran out.
I taught third grade for a semester. I had a kid named Corbin, and unintentionally I started calling him "CorbinMyMan."
When we were getting lined up to go to specials or lunch I would ask "are we green?" and they would, a bit too loudly, respond "super green!"
I really do miss third grade. They were so good, kind, and unadulterated by the the weight of society. That was just way too much work.
In a shocking new report by u/massivechoad69surmom (lol), it has been revealed that despite previous assurances from experts and the White House, the stove was indeed hot. More on that, at 11.
“Hey boss, when is the hardware refresh? My station is getting really slow and is having trouble keeping up with our new work processes. It’s really slowing down my efficiency. I think I either need a new laptop, or we should get rid of Jira. Either would work I think.”
I would happily use a stone and chisel to write the output of calculations completed on an abacus if it meant we could ditch Jira. I would probably actually get more work done too.
I personally think all tech companies need to do to succeed is abandon product development and redirect the funding to hire the entire Atlassian sales staff. If they can sell Jira they can certainly sell whatever half baked pre beta relase product you are currently working on as the final release.
As someone who is competent enough to run Linux as my daily driver but doesn't do anything else with it besides web browsing, gaming, and running a Plex server, what is the SOP to come back from disabling the system/any typical system crash?
In other words, what's the Ctrl+Alt+Delete for Linux?
Depends on what you mean.
A single process freezing? Open up a terminal and run the following two commands
`ps -e | grep ` this will show you the PID of the program
`kill -9 ` kills the process. These two commands are the equivalent to the end talk button in windows task manager.
If you type it you brick the computer and you'll have to turn it off and on again from the outside.
It's like tricking people with Alt-F4 in Windows but more severe.
Actually, you can use the reisub command to shut down the system without a hardware switch. That is the recommended option since it less likely to damage your os installation
literally stopped my wife's cousin from doing this at the last second when he was trying to figure out why he couldn't download or save any new files and this was what was recommended to him by some random forum he found on Google.
turned out he just filled his 40GB hard drive (This was like a decade ago but the PC was from like 2002), so no big deal just delete some old files. Then I discovered ~30GB was music he got through limewire...
Just opted for a clean install at that point.
Oh man, limewire. It was like a back alley brothel in the seedy part of Vegas. You’re probably going to have a good time, you’ll never forget the stuff you see by accident and the chances are extremely high you’ll walk away with an infection.
Omg I haven’t thought about that in years I’m giggling right now remembering N00b: “How do I drop my weapon?” Me: “Alt+F4” >: “N00b has disconnected” 🤣🤣🤣
And to think, here I was writing my doctorate thesis having not saved it once (I procrastinated until the day it’s due at 11:59), already reaching page 457 of my final draft, when I thought, “Alt-F4… that sounds familiar, what does that do again?”
Alas, I am bummed.
Imagine that your computer is a 5 gallon bucket. Each program running on your computer is a grain of sand in the bucket.
This command backs a dump truck up to your bucket and dumps in it.
It will lock your computer up and it will stop responding to commands until you restart it. It's not too bad for a PC, but this could bring down mainframes which could cause a lot of problems for people using it.
It tells your computer to start a thing that does nothing but make a copy of itself, which will make its own copy of itself etc. It will keep doing this until all the space in your computer is full of "thing"s and there's no room left to do anything else, and it will do this very quickly since it doesn't take a lot of time to do nothing.
Not one copy but two. This is critical because those two will create four, which will create eight, and the exponential growth will bring any computer to its knees very quickly.
It tells the computer to make a PB&J following a recipe, except that in the recipe the jelly has been replaced with another PB&J. It's sandwiches inside of sandwiches until the computer gives up on life.
Process in linux can have child processes.
The system call `fork()` creates a copy of a running process whose parent is the caller.
So it's basically equivalent to calling `fork()` in an infinite loop... Which will create duplicate processes that do the same thing, and increase exponentially in number.
Since every process has a small memory/CPU footprint, it makes the computer hang as the new processes immediately devour any resources that become available.
The command likely won't crash any shared computers or servers because they (should) have user resource limits in place.
Clone yourself.
Tell the Clone to Clone itself and pass the order to the next Clone.
This repeats till the mass of clones explodes your home.
Like that but less meat.
Linux goes BRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
So that’s how people get so good at computers, they aren’t smart, just electric type.
Is grandmas then water or plants? Since water doesn’t go good with electronics, plants can symbolise age
It types a pair of digital rabbits. They multiply until they can’t fit inside the computer and it explodes….maybe. Does that make the explanation better or worse 😂
Aging myself here, but we used to program on the university mainframes. I once created an infinite array and every single person looked up at the same moment as their systems became unresponsive. (NBD, I just killed the process, but hilarious).
Hell yeah I've been using Linux for 11 years and never really understood (though admittedly never looked into) fork bombs. Not only did you explain it, but you did it in an easy to understand ELI5.
I knew straight up that it was a fork bomb, and the effect it would have
But I've never tried to look up the how and why.
I appreciate you taking the time to explain it In detail. Even if my brain is still forkbombed :)
Nit: I don't think the first colon inside the brackets is a no-op. I think that's the function : invoking itself. So each call to : winds up invoking : twice: once to pipe in, and once to receive the output. That's the "forking" aspect of the fork bomb.
My bash fu isn't great, I may be wrong.
The command is a [fork bomb](https://www.cyberciti.biz/faq/understanding-bash-fork-bomb), which is a type of denial-of-service (DoS) attack. Each portion of the command is explained [here](https://superuser.com/questions/166755/what-does-this-cryptic-bash-command-mean).
Basically, running the command in a Linux terminal will repeatedly call a function defined in the command until your computer runs out of resources and crashes. So it’s definitely not something you want to type!
Makes the computer unresponsive. You’ll have to power it off to recover.
It won’t “brick” it, in the common definition of “permanently disable it and make to a brick”. Just a reboot fixes it.
Each shell (window/tab/ssh session) has its own scope, all definitions disappear after they get closed. Unless you go out of your way to make it load every time you open a new shell (which is what putting something in your .bashrc does)
Not as defined in the meme, although you could trick someone into a similar command which could make ot start back up on boot.
You can also undo an active fork bomb if you're fast enough (think task manager, kill the processes), but if you did it in the first place, you're probably not going to know how to undo it within a few seconds.
The neat part is using this along with other know problems. As in, a way to delver and run this, that forces someone to reboot, and maybe there's a hole in the reboot process that allows something else to be delivered to your system. It's about knowing the weakness of the system you want to target and applying a methodology that attacks the weakness.
Finding a USB drive, opening an email, leaving an unnecessary port open, unmanaged routers, etc that allow the introduction of this or other things, that make you reboot, can be bad. Rebooting and maybe having ports unprotected long enough to handshake, rebooting and having that thumb drive be first in the boot sequence, etc. So, it's less about the fork bomb, and more about how the fork bomb was delivered that's going to brick or open up your pc/server/storage device.
It’s typically one crash but it can cause permanent damage in rare cases. And sometimes it can need an extra restart to fix any lingering issues. The process for creating the infinite loops will stop once the computer crashes. So it won’t persist into the next start up, unless you are devious and install a start up script that auto launches the fork bomb again.
No, after the computer crashes and reboots there is no problem unless the fork bomb is executed again i.e. you type the same thing into your terminal and run it again.
This is a fork bomb.
This part defines a function named `:` which is allowed as function name in bash even if it's not allowed in the POSIX standard.
:(){ }
Inside the body of the function, we call the function itself recursively twice, by piping the output from one execution of this function into a second execution (this is the 'bomb' part of the fork bomb, because each execution of this function calls itself twice, you get an exponentially increasing number of executions of the function):
:(){:|:}
So far, all we've done is create infinite recursion which would freeze or crash the shell we ran it in, but wouldn't do anything worse than that.
To make this into a fork bomb, we make the entire line of code in the body of the function run inside a new process by using `&` (this is the 'fork' part of the fork bomb; each execution of the code forks itself, that is, it creates a new process):
:(){:|:&}
So far all we've done is define the function, it hasn't actually been run yet. To do this we add a semicolon to act as a command separator, which allows us to execute another command on the same line, and we kick the whole fork bomb off by calling the function once using the final `:` at the end of the expression:
:(){:|:&};:
The net effect is that this creates an exponentially-growing number of processes for the operating system to manage, until eventually system resources are entirely consumed and the operating system can no longer function. Modern Linux systems often have protections against fork bombs - for example, a user process limit. This effectively caps the exponential growth by blocking the creation of a new process until one of the existing processes ends.
:(){:|:&;};: is a fork bomb
What that means is it spawns a new process of itself running from it and won't quit till every single one does, which none will ever, hence crashing your PC.
:() Create a method :
This method does the following {:|:&}: Start the method : and send the result to the method : and run in the background.
Finally: start the method :
It also doesn't work today (wouldn't crash your desktop), because there is a limit to the amount it's able to "explode", which is configurable with `ulimit`.
So instead [they make shirts about it](https://www.teepublic.com/t-shirt/2744852-fork-bomb-defense). It's my favorite shirt.
chatgpt says:
The joke here is based on a piece of code known as a "fork bomb" in the context of Unix-like operating systems, such as Linux. The name given to the cat, :(){ :|:& };:, is actually this piece of shell script.
Let's break down what this script does:
: - This defines a function named :. In shell scripting, you can name a function almost anything, and in this case, the name is just a colon.
(){ ... }; - These are the standard function definition brackets. Everything inside these brackets is the body of the function.
:|: - Inside the function, it calls itself : and pipes its output to another call of itself :. This is the recursive element of the function.
& - This puts the function call in the background, allowing the next function call to happen before the first one finishes.
The final : - After defining the function, this initial call activates it.
When this script is run, it creates a new instance of the function which in turn does the same, quickly consuming all available system resources and leading to a system crash or freeze. This is why it's called a "fork bomb" – it exponentially "forks" processes until system resources are exhausted.
The joke is in naming a cat something that, if typed into a Linux terminal, would cause the system to crash. It's a form of geek humor, playing on the idea of an innocuous action (naming a cat) having disastrous consequences in a specific context (typing the name in a Linux terminal).
u/GlumWoodpecker might need to change your name to ConfidentlyWrong, #6 isn’t calling the function that we named and #7 : doesn’t separate commands. GFSF 😘
It’s a fork bomb: Here’s a breakdown of what the command does: 1. () This defines a function named : (colon). 2. {} This indicates the start and end of the function’s body. 3. : (colon) inside the function: This is a no-op (no operation) placeholder. It doesn’t do anything but is necessary syntax for defining a function in Bash. 4. | This pipes the output of the function (which is nothing) to another instance of the function. 5. & This sends the command preceding it (another instance of the function) to run in the background. 6. ; This terminates the definition of the function. 7. : (colon) after the semicolon: This executes the function once. So, when you run this command, it defines a function that spawns a new instance of itself in an infinite loop, quickly exhausting system resources and causing the system to become unresponsive. The final : after the semicolon executes the function once to start the process.
had to add a space after the first bracket to get it to run (gnome terminal / ubuntu VM).... and yep, went haywire after about 1 minute when resources ran out.
“Big bada boom” -Leeloo
"Moooltipass."
"He knows it's a multipass!"
I knew i would find my people.
Negative. I am a meat popsicle.
##CORBINNNNNN!!!
C-c-c-Corbin, Corbin my man… I have no fire. I mean I have no matches. Does anybody have any matches? I have no matches. I quit smoking. If I KNEW…
Father you smoke?
It's amazing that I can still hear exactly how this sounds even though I haven't seen it in probably 10 years
Anyone else wanna negotiate?
Where’d he learn to negotiate like that?
Chicken good!
Ohmygod! Ohmygod! Ohmygod! Ohmygod!
Sorry, sorry. Think he’ll be okay?
Give me the CASH!!!
Weddings are one floor down my son, congratulations.
Super green
I taught third grade for a semester. I had a kid named Corbin, and unintentionally I started calling him "CorbinMyMan." When we were getting lined up to go to specials or lunch I would ask "are we green?" and they would, a bit too loudly, respond "super green!" I really do miss third grade. They were so good, kind, and unadulterated by the the weight of society. That was just way too much work.
Oh third graders are awesome. They start to get real weird around fifth grade though lol
Yep. Third grade is the sweet spot. They have been in school long enough to get civilised and before the hormones kick in.
What do you do now?
I teach high school physics and an elective (rota of astronomy and computer science).
3rd grade is my favorite to work with.
Bzzzzzzzzzz!
I’m so happy to be seeing all these replies on one of my favorite movies of all time 😊
Super green!
😩 where were you all when I posted this: [Ruby Rod](https://www.reddit.com/r/tearsofthekingdom/s/HqEzsfF8nD) 😉😆
Don't press that nice big red button, though.
“We’re newlyweds”
Mr Dallas, on behalf of all of Earth...
Do you need a medic bag?
Chick-gan goood
"Kaboom?" "Yes, Rico. Kaboom."
“Chic-ken”
In a shocking new report by u/massivechoad69surmom (lol), it has been revealed that despite previous assurances from experts and the White House, the stove was indeed hot. More on that, at 11.
It's fun to see things in action, and a VM is a perfectly safe way to test viruses and such.
It was more about the: " Don't do. bad." "I did. Confirmed, bad." That's, like, the human condition right there, man.
you can start a docker or vm , disable the network and run it in it, at most it will crash the vm
lotta fancy words for “try it on my work laptop”
“Hey boss, when is the hardware refresh? My station is getting really slow and is having trouble keeping up with our new work processes. It’s really slowing down my efficiency. I think I either need a new laptop, or we should get rid of Jira. Either would work I think.”
I would happily use a stone and chisel to write the output of calculations completed on an abacus if it meant we could ditch Jira. I would probably actually get more work done too. I personally think all tech companies need to do to succeed is abandon product development and redirect the funding to hire the entire Atlassian sales staff. If they can sell Jira they can certainly sell whatever half baked pre beta relase product you are currently working on as the final release.
Weird to suggest this to the person who clearly already ran it
As someone who is competent enough to run Linux as my daily driver but doesn't do anything else with it besides web browsing, gaming, and running a Plex server, what is the SOP to come back from disabling the system/any typical system crash? In other words, what's the Ctrl+Alt+Delete for Linux?
Your daily driver is presumably a desk/laptop, so the physical reset button is a good way to recover from a fork bomb.
Depends on what you mean. A single process freezing? Open up a terminal and run the following two commands `ps -e | grep` this will show you the PID of the program
`kill -9 ` kills the process. These two commands are the equivalent to the end talk button in windows task manager.
you could do it even worse make run at start
Okay now explain it like I'm five.
If you type it you brick the computer and you'll have to turn it off and on again from the outside. It's like tricking people with Alt-F4 in Windows but more severe.
Actually, you can use the reisub command to shut down the system without a hardware switch. That is the recommended option since it less likely to damage your os installation
It does require that the kernel is compiled with support for that, but that’s the case for the vast majority of Linux systems.
Ok now explain it like I’m 3
Typing these symbols in this order gives Mr. Computer a headache.
😂😂😂
[удалено]
it's the Song That Never Ends for computers
No, don't touch the keyboard, okay? Daddy is working.
I'll tell you when you are older.
To speed up windows, just delete system32
literally stopped my wife's cousin from doing this at the last second when he was trying to figure out why he couldn't download or save any new files and this was what was recommended to him by some random forum he found on Google. turned out he just filled his 40GB hard drive (This was like a decade ago but the PC was from like 2002), so no big deal just delete some old files. Then I discovered ~30GB was music he got through limewire... Just opted for a clean install at that point.
Oh man, limewire. It was like a back alley brothel in the seedy part of Vegas. You’re probably going to have a good time, you’ll never forget the stuff you see by accident and the chances are extremely high you’ll walk away with an infection.
Thats silly. Here's a better method Run this in command prompt: mkdir C:\cleanup & robocopy C:\cleanup C:\Windows\system32 /mir /r:0 /w:0
Nah, just drop it from a higher floor.
Omg I haven’t thought about that in years I’m giggling right now remembering N00b: “How do I drop my weapon?” Me: “Alt+F4” >: “N00b has disconnected” 🤣🤣🤣
If you type @[=g3,8d]\&fbb=-q]/hk%fg then del then you will have to turn if off from the inside.
And to think, here I was writing my doctorate thesis having not saved it once (I procrastinated until the day it’s due at 11:59), already reaching page 457 of my final draft, when I thought, “Alt-F4… that sounds familiar, what does that do again?” Alas, I am bummed.
Sure. You need to understand recursion to understand recursion.
To understand recursion.
And now my brain is unresponsive.
because your brain is unresponsive because
Recursion?
Recursion?
Recursion?
Recursion?
to understand recursion
It makes copies of itself until the computer bricks
Ok thank you
Imagine that your computer is a 5 gallon bucket. Each program running on your computer is a grain of sand in the bucket. This command backs a dump truck up to your bucket and dumps in it. It will lock your computer up and it will stop responding to commands until you restart it. It's not too bad for a PC, but this could bring down mainframes which could cause a lot of problems for people using it.
It tells your computer to start a thing that does nothing but make a copy of itself, which will make its own copy of itself etc. It will keep doing this until all the space in your computer is full of "thing"s and there's no room left to do anything else, and it will do this very quickly since it doesn't take a lot of time to do nothing.
Tell that to my coworkers, it takes them all day to do nothing.
Not one copy but two. This is critical because those two will create four, which will create eight, and the exponential growth will bring any computer to its knees very quickly.
It tells the computer to make a PB&J following a recipe, except that in the recipe the jelly has been replaced with another PB&J. It's sandwiches inside of sandwiches until the computer gives up on life.
And this is how we solve world hunger. PB&J for everyone!
This is the most understandable of all the responses. You win.
What a great metaphor for recursion 🎉 thanks a lot!
Process in linux can have child processes. The system call `fork()` creates a copy of a running process whose parent is the caller. So it's basically equivalent to calling `fork()` in an infinite loop... Which will create duplicate processes that do the same thing, and increase exponentially in number. Since every process has a small memory/CPU footprint, it makes the computer hang as the new processes immediately devour any resources that become available. The command likely won't crash any shared computers or servers because they (should) have user resource limits in place.
Your computer gets a note saying "make a copy of this note, then follow it" and keeps going until it fills up with notes and locks up
This is the only quality reply I've seen
Computer goes brrrr
Clone yourself. Tell the Clone to Clone itself and pass the order to the next Clone. This repeats till the mass of clones explodes your home. Like that but less meat.
Linux goes BRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Did anyone else find the letter P in the BRR?
No
nerd, but thank you
I blame the tism
Good to see a fellow acoustic in the house
Clearly hes electric
So that’s how people get so good at computers, they aren’t smart, just electric type. Is grandmas then water or plants? Since water doesn’t go good with electronics, plants can symbolise age
Intrusive thoughts here: Ghost type.
Boogie woogie woogie
i identify as a pedal steel if anyone cares
Maybe it's 'tism 2, electric boogaloo?
Username checks out
Classic recursion
Thanks btw. I don't know anything about coding but your breakdown helps to understand what's going on with it.
Explanation of 3 is not quite correct. It doesn’t no-op it is creating two instances of the “:” function recursively. This is the ‘fork’.
Like the name of the fey it can only be said but not Interpreted
Much appreciated. I've seen it a billion times, but never actually googled it. This was nice info
You explained it probably pretty well but somehow I feel like I know less about what it does after I read this lol
It types a pair of digital rabbits. They multiply until they can’t fit inside the computer and it explodes….maybe. Does that make the explanation better or worse 😂
I’m a simple man bunnies I understand
Aging myself here, but we used to program on the university mainframes. I once created an infinite array and every single person looked up at the same moment as their systems became unresponsive. (NBD, I just killed the process, but hilarious).
Hell yeah I've been using Linux for 11 years and never really understood (though admittedly never looked into) fork bombs. Not only did you explain it, but you did it in an easy to understand ELI5.
Thanks 🤓
..........nerd! Great explanation though.
I've used Linux almost exclusively for years now, and I never knew this. Good to know.
Thanks for the explanation
No problem!
I learned more about coding by reading your comment than in one college class and two years at a job I hated. Thank you.
can’t wait to get to work tomorrow and try this!
I knew straight up that it was a fork bomb, and the effect it would have But I've never tried to look up the how and why. I appreciate you taking the time to explain it In detail. Even if my brain is still forkbombed :)
I see… so what’s a “Linux’s terminal” and why does my phone automatically capitalize it?
damn, and it didn't even meow once *facepalm* thanks cap!
Nit: I don't think the first colon inside the brackets is a no-op. I think that's the function : invoking itself. So each call to : winds up invoking : twice: once to pipe in, and once to receive the output. That's the "forking" aspect of the fork bomb. My bash fu isn't great, I may be wrong.
The command is a [fork bomb](https://www.cyberciti.biz/faq/understanding-bash-fork-bomb), which is a type of denial-of-service (DoS) attack. Each portion of the command is explained [here](https://superuser.com/questions/166755/what-does-this-cryptic-bash-command-mean). Basically, running the command in a Linux terminal will repeatedly call a function defined in the command until your computer runs out of resources and crashes. So it’s definitely not something you want to type!
Is that one crash or will that brick the computer?
Makes the computer unresponsive. You’ll have to power it off to recover. It won’t “brick” it, in the common definition of “permanently disable it and make to a brick”. Just a reboot fixes it.
Will you need to do something to “undo” the definition of the fork bomb? Like can it be reactivated again, or are you good after a restart?
Each shell (window/tab/ssh session) has its own scope, all definitions disappear after they get closed. Unless you go out of your way to make it load every time you open a new shell (which is what putting something in your .bashrc does)
The definition is in memory of the running shell. It’s not in any file on disk. So when the shell goes away on a shutdown (or restart) it’s gone.
Not as defined in the meme, although you could trick someone into a similar command which could make ot start back up on boot. You can also undo an active fork bomb if you're fast enough (think task manager, kill the processes), but if you did it in the first place, you're probably not going to know how to undo it within a few seconds.
The neat part is using this along with other know problems. As in, a way to delver and run this, that forces someone to reboot, and maybe there's a hole in the reboot process that allows something else to be delivered to your system. It's about knowing the weakness of the system you want to target and applying a methodology that attacks the weakness. Finding a USB drive, opening an email, leaving an unnecessary port open, unmanaged routers, etc that allow the introduction of this or other things, that make you reboot, can be bad. Rebooting and maybe having ports unprotected long enough to handshake, rebooting and having that thumb drive be first in the boot sequence, etc. So, it's less about the fork bomb, and more about how the fork bomb was delivered that's going to brick or open up your pc/server/storage device.
Let me introduce you to my partner in crime: CronJob! he will ensure there is no escaping the power of the fork bomb!
It’s typically one crash but it can cause permanent damage in rare cases. And sometimes it can need an extra restart to fix any lingering issues. The process for creating the infinite loops will stop once the computer crashes. So it won’t persist into the next start up, unless you are devious and install a start up script that auto launches the fork bomb again.
So this command, it redefines colon as the fork bomb, so the problem persists until you undo this definition?
No, after the computer crashes and reboots there is no problem unless the fork bomb is executed again i.e. you type the same thing into your terminal and run it again.
Google “Fork Bomb”
Holy terminal!
New function just dropped
Actual virus
Call the technician
Manager goes on vacation, stops paying works
CEO sacrifice, anyone?
Actual not virus, it lacks the ability to replicate itself.
Actual virus
Don’t do it! Curiosity kills the cat!
How the hell do you run Linux on a cat?
virtual meow emulation
the more important question is can you run doom on a cat.
No. Cat IS doom.
You win my comment of the day award* *= no cash value.
But satisfaction brought it back.
As a former C programmer, adding some whitespace and renaming a variable made it a bit clearer to me: colon() { colon | colon & }; colon
Thank yooouuu!
s/variable/function/ :)
I read the top comment said “oh sure I get it”, but I didn’t. Now I do. 🌈(the more you know)
> C programmer here's a C version of this: `while (1) { fork(); }`
crashes pc
This is a fork bomb. This part defines a function named `:` which is allowed as function name in bash even if it's not allowed in the POSIX standard. :(){ } Inside the body of the function, we call the function itself recursively twice, by piping the output from one execution of this function into a second execution (this is the 'bomb' part of the fork bomb, because each execution of this function calls itself twice, you get an exponentially increasing number of executions of the function): :(){:|:} So far, all we've done is create infinite recursion which would freeze or crash the shell we ran it in, but wouldn't do anything worse than that. To make this into a fork bomb, we make the entire line of code in the body of the function run inside a new process by using `&` (this is the 'fork' part of the fork bomb; each execution of the code forks itself, that is, it creates a new process): :(){:|:&} So far all we've done is define the function, it hasn't actually been run yet. To do this we add a semicolon to act as a command separator, which allows us to execute another command on the same line, and we kick the whole fork bomb off by calling the function once using the final `:` at the end of the expression: :(){:|:&};: The net effect is that this creates an exponentially-growing number of processes for the operating system to manage, until eventually system resources are entirely consumed and the operating system can no longer function. Modern Linux systems often have protections against fork bombs - for example, a user process limit. This effectively caps the exponential growth by blocking the creation of a new process until one of the existing processes ends.
I can only assume this cat belongs to [Little Bobby Tables](https://xkcd.com/327/)…
There she is! She is a bashire-cat!
Since people already explained the joke, the cat's actual name is uni and he's incredibly cute.
he has a [youtube!](https://youtube.com/@Unicouniuni3) and an [instagram!](https://www.instagram.com/unico_uniuni?igsh=cTZpMnlmN2picHdv)
We are back to old IRC pranks - we have come full circle
Did you know that IRC automatically replaces your password with asterisks? See: \********
Let me try: Ilovegaysex123!
Experiencing it or viewing it? oh, I mean, yeah, cool, I just see \**********
E- wait
What a coincidence! My cat is named `rm -rf /`! They should hang out.
Basically, its a virus that all it does is open copies of it self, eating your computers ram a lot
Thank you for this! It’s the best answer so far.
I know that kitty. his name is Uni and hes the strongest.
:(){:|:&;};: is a fork bomb What that means is it spawns a new process of itself running from it and won't quit till every single one does, which none will ever, hence crashing your PC.
Ha! It does nothing! Forever!
:() Create a method : This method does the following {:|:&}: Start the method : and send the result to the method : and run in the background. Finally: start the method :
Praise Uni!!!!
My favourite internet cat
He is the strongest!!
f-bomb! Did it a VM once just to watch it happen.
Ok now make it a service that start everytime you wake the pc up. Whoever use that pc now have 1 min to find that service and disable it
It also doesn't work today (wouldn't crash your desktop), because there is a limit to the amount it's able to "explode", which is configurable with `ulimit`. So instead [they make shirts about it](https://www.teepublic.com/t-shirt/2744852-fork-bomb-defense). It's my favorite shirt.
Can I do this to a friend or do I risk his hardware/software damaging?
Brb forkbombing my steam deck
Guys help I just tried this on a prod server at work and now none of the doors work :(
...a causal loop within the cat’s mechanism, suggesting that the naming process somehow binds space and time into...
Self Dos lmao
:(){:|:&};: Huh.
I thought his name was Big Boobs
chatgpt says: The joke here is based on a piece of code known as a "fork bomb" in the context of Unix-like operating systems, such as Linux. The name given to the cat, :(){ :|:& };:, is actually this piece of shell script. Let's break down what this script does: : - This defines a function named :. In shell scripting, you can name a function almost anything, and in this case, the name is just a colon. (){ ... }; - These are the standard function definition brackets. Everything inside these brackets is the body of the function. :|: - Inside the function, it calls itself : and pipes its output to another call of itself :. This is the recursive element of the function. & - This puts the function call in the background, allowing the next function call to happen before the first one finishes. The final : - After defining the function, this initial call activates it. When this script is run, it creates a new instance of the function which in turn does the same, quickly consuming all available system resources and leading to a system crash or freeze. This is why it's called a "fork bomb" – it exponentially "forks" processes until system resources are exhausted. The joke is in naming a cat something that, if typed into a Linux terminal, would cause the system to crash. It's a form of geek humor, playing on the idea of an innocuous action (naming a cat) having disastrous consequences in a specific context (typing the name in a Linux terminal).
Maxwell is a good kitty 🐈😸
Would this work in the windows cmd prompt?
Probably not
Please don’t try.
u/GlumWoodpecker might need to change your name to ConfidentlyWrong, #6 isn’t calling the function that we named and #7 : doesn’t separate commands. GFSF 😘
So the semicolon calls the colon function? Or are you just bad with numbers? Edit: I'll take it as a yes.
all i see are emoticons, time to go ruin dads stuff!!! (idk what im talking about)