GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Pourquoi la commande ":(){ :|:&};:" a-t-elle tellement ralenti le système que j'ai dû redémarrer ?

DANGER !

N'exécutez pas cette commande pour la "tester" à moins que vous ne soyez préparé à un plantage et/ou à un redémarrage forcé de votre système.

J'étais dans ma Virtualbox exécutant 12.04 en train d'essayer de compiler une application, et en attendant, je suis tombé sur un forum où un commentaire disait :

Essayez :(){ :|: & };:
Amusant aussi, et n'a pas besoin de root.

Sans réfléchir, je l'ai lancé dans mon gnome-terminal. Cela a tellement retardé ma 12.04 (dans Virtualbox) que j'ai dû l'arrêter.

Ma question est que fait cette commande ?

:(){ :|:&};:

Meilleure réponse

C'est ce qu'on appelle une bombe à fourche.

:() signifie que vous définissez une fonction appelée :

{:|: &} signifie exécuter la fonction : et envoyer sa sortie au : fonctionner à nouveau et l'exécuter en arrière-plan.

Le ; est un séparateur de commandes.

: exécute la fonction la première fois.

Essentiellement, vous créez une fonction qui s'appelle deux fois à chaque appel et n'a aucun moyen de se terminer. Il continuera à doubler jusqu'à ce que vous manquiez de ressources système.

Exécuter dans Virtualbox était vraiment très judicieux, sinon vous auriez dû redémarrer votre ordinateur.


Ubuntu
  1. Pourquoi le serveur a-t-il bloqué mon IP ?

  2. Comment exécuter une commande en tant qu'administrateur système (racine) ?

  3. Sortie de la "dernière" commande ?

  4. Pourquoi la commande suivante tue-t-elle un système ?

  5. Le système est-il capable d'exécuter un système d'exploitation 64 bits ?

Commande de redémarrage Linux (redémarrer)

Comment redémarrer Debian en utilisant la ligne de commande

3 façons de redémarrer Ubuntu via la ligne de commande

La commande supérieure de Linux

Pourquoi «boot-repair» est-il répertorié deux fois dans la documentation Ubuntu?

Comment utiliser la commande fd sur le système Linux