ACHTUNG!
Führen Sie diesen Befehl nicht aus, um ihn zu testen, es sei denn, Sie sind auf einen Absturz und / oder einen erzwungenen Neustart Ihres Systems vorbereitet.
Ich habe in meiner Virtualbox 12.04 versucht, eine App zu kompilieren, und während ich wartete, war ich zufällig auf ein Forum gestoßen, in dem ein Kommentar lautete:
Probieren Sie auch
:(){ :|: & };:
Fun aus und benötigen Sie keinen Root.
Ohne nachzudenken, habe ich es in meinem Gnome-Terminal ausgeführt. Das hat meine 12.04 (in Virtualbox) so stark verzögert, dass ich sie herunterfahren musste.
Meine Frage ist, was macht dieser Befehl?
: () {: |: &} ;:
command-line
blade19899
quelle
quelle
Antworten:
Dies nennt man eine Gabelbombe .
:()
bedeutet, dass Sie eine Funktion definieren, die aufgerufen wird:
{:|: &}
bedeutet, die Funktion auszuführen:
und ihre Ausgabe erneut an die:
Funktion zu senden und diese im Hintergrund auszuführen.Das
;
ist ein Befehlstrennzeichen.:
Führt die Funktion zum ersten Mal aus.Im Wesentlichen erstellen Sie eine Funktion, die sich bei jedem Aufruf zweimal selbst aufruft und keine Möglichkeit hat, sich selbst zu beenden. Es wird sich so lange verdoppeln, bis Ihnen die Systemressourcen ausgehen.
Das Laufen in Virtualbox war sehr vernünftig, sonst hätten Sie Ihren PC neu starten müssen.
quelle
;
es sich um ein Befehlstrennzeichen handelt. Der{ ... }
Teil ist einfach der Inhalt der Funktion.|
und&
tut. Ich verstehe, dass Sie die Funktionsweise der Funktion bereitgestellt haben, aber ich wollte wissen, was diese beiden tunDies ist eine sogenannte Gabelbombe, die in der Schale implementiert ist.
aus Wikipedia:
quelle
Dieser Befehl ist eine bekannte Version der Gabelbombe
Es führt dazu, dass Ihrem Computer der Arbeitsspeicher ausgeht, indem ein Prozess unendlich lang unterbrochen wird. Es gibt einige Schutzmaßnahmen, die Sie auch dagegen anwenden können:
quelle
Nach dieser
:(){ :|: & };:
heißtEs wird daher davon abgeraten, dies auszuführen. Dies kann die Hardware beschädigen, da dies zu einer schleifenweisen Ausführung führt und bei Laptops zu einer leichten Erwärmung führen kann.
Ein weiterer Link erklärt durch Screenshots hier .
quelle
Es wird , wie oben erläutert, als " Gabelbombe " bezeichnet. Eine andere Möglichkeit wäre, die Hintergrundausführung anstelle von Piping zu verwenden:
quelle