Small interesting *nix facts: the infamous fork bomb

Maybe it’s a dated topic, but it’s always funny!


What is a fork bomb?

A fork bomb (also know as Rabbit Virus or Wabbit) is a denial-of-service attack wherein a process continually replicates itself, slowing down or crashing the system due to resource starvation.

Some examples?


Bash version:

:(){:|:&};:

Its construction is elegant and deadly, bringing any system to halt if the proper security measures aren’t put in place.

The command simply creates a function named : with the :() in the beginning, it then goes on to define the contents of the function with {:|:&}, this again is very simple as it only executes itself and pipes into another call of itself while backgrounding the process.

Finally, the function definition is terminated with the ; and called with the :.

Another BASH implementation, as a script:

#!/bin/bash
$0|$0&

In this case, $0 returns the name of the shell script itself in recursive loop.

Windows Batch Version:

%0|%0

same technique of the bash version.

Perl Version:

perl -e "fork while fork" &

and Python:

import os
while 1:
os.fork()

Use with caution! 🙂

Comments