Okay, kurze Erklärung:
:(){ :|:&};:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
|
# Eine Funktion namens ":"
:()
{
# ruft sich selbst auf:
: | : &
# und leitet ihre Ausgaben an eine weitere Instanz von
# sich selbst weiter, wobei dieser Prozess dann in den
# Hintergrund geschaltet wird.
# Natürlich muss die Funkrion jetzt auch zum ersten
# Mal aufregrufen werden:
} ; :
|
Der Gag bei der Sache ist jetzt, dass pro rekursivem Aufruf der Funktion zwei neue Bash-Prozesse geforkt werden, die aber nie zurückkehren. Dadurch können sie natürlich auch keine Ausgaben liefern, die aber nötig wären, damit die aufrufende Instanz zurückkehrt...
Der Speicherbedarf wächst also exponentiell an und binnen kürzester Zeit wird das System vom OOM-Killer zerlegt, der fängt nämlich an Prozesse zu killen, wenn der Speicher erschöpft ist. Über kurz oder lang erwischts da auch mal was wichtiges...
Shadow