GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Warum hat der Befehl „:(){ :|:&};:“ das System so verzögert, dass ich neu starten musste?

GEFAHR!

Führen Sie diesen Befehl nicht zum „Testen“ aus, es sei denn, Sie sind auf einen Absturz vorbereitet und/oder erzwingen einen Neustart Ihres Systems.

Ich war in meiner Virtualbox mit 12.04 und versuchte, eine App zu kompilieren, und während ich wartete, stieß ich zufällig auf ein Forum, in dem ein Kommentar stand:

Versuchen Sie :(){ :|: & };:
Macht auch Spaß und braucht kein Root.

Ohne nachzudenken, ließ ich es in meinem Gnome-Terminal laufen. Dadurch verzögerte sich mein 12.04 (in Virtualbox) so stark, dass ich es herunterfahren musste.

Meine Frage ist, was macht dieser Befehl?

:(){ :|:&};:

Beste Antwort

Dies wird als Gabelbombe bezeichnet.

:() bedeutet, dass Sie eine Funktion namens : definieren

{:|: &} bedeutet, die Funktion : auszuführen und sendet seine Ausgabe an : Funktion erneut ausführen und im Hintergrund ausführen.

Der ; 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 verdoppeln, bis Ihnen die Systemressourcen ausgehen.

Das Ausführen in Virtualbox war wirklich sinnvoll, sonst hättest du deinen PC neu starten müssen.


Ubuntu
  1. Warum hat der Server meine IP blockiert?

  2. Wie führe ich einen Befehl als Systemadministrator (root) aus?

  3. Ubuntu – Warum wird der Xmodmap-Befehl beim Start/Anmeldung nicht ausgeführt?

  4. Warum tötet der folgende Befehl ein System?

  5. Der Befehl zum Schließen eines Fensters?

Linux-Neustart (Neustart)-Befehl

So starten Sie Debian über die Befehlszeile neu

3 Möglichkeiten, Ubuntu über die Befehlszeile neu zu starten

Der Linux-Top-Befehl

Warum wird „Boot-Repair“ zweimal in der Ubuntu-Dokumentation aufgeführt?

So verwenden Sie den fd-Befehl auf einem Linux-System