Mögliches Duplikat:
Was bedeutet dieser kryptische Bash-Befehl?
Warum stürzt dieser Befehl Linux ab?
:(){ :|:& };:
Mögliches Duplikat:
Was bedeutet dieser kryptische Bash-Befehl?
Warum stürzt dieser Befehl Linux ab?
:(){ :|:& };:
Antworten:
Dies nennt man eine Gabelbombe .
quelle
Der Befehl definiert eine Funktion namens
:
, die beim Aufruf zwei Kopien von sich selbst im Hintergrund erzeugt und beendet. Diese beiden Kopien machen dasselbe, was in nur einer Sekunde zu einer enormen Anzahl von Prozessen führt, die auf unbestimmte Zeit fortgesetzt werden.Das Folgende ist genau die gleiche Funktion, jedoch mit einem besser lesbaren Namen:
quelle
Prozesse werden endlos in den Hintergrund verschoben. Nach einer Weile gibt es zu viele Prozesse, die jeweils eine geringe Menge an Systemressourcen beanspruchen.
quelle
Technisch gesehen ist das System nicht abgestürzt. Ein Systemabsturz führt zu einem Exit mit Fehlern. Es hat auch nicht gehangen. Dies würde bedeuten, dass das System etwas tut und nicht zurückgekehrt ist. Im konkreten Fall funktioniert es einwandfrei. Die Antwort dauert einfach zu lange, da eine Computerrealisierung über endliche Ressourcen verfügt. Unendliche Prozesse und endliche Ressourcen haben daher eine unendliche Reaktionszeit zur Folge.
quelle