GNU/Linux >> Tutoriels Linux >  >> Linux

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

Quelqu'un comprend-il le code suivant, exécuté en bash ?

:(){ :|:& };:

Cela semble être un "fork ” bombe sur Linux.

Réponse acceptée :

Ce n'est pas si difficile à déchiffrer en fait.

Ce morceau de code définit simplement une fonction nommée : qui appelle deux instances de lui-même dans un pipeline ::|:& . Après la définition, une instance de cette fonction est démarrée.

Cela conduit à une augmentation rapide du nombre de processus de sous-shell. Les systèmes non protégés (systèmes sans limite de nombre de processus par utilisateur) seront gravement affectés par de telles bombes à fourche puisque les processus légitimes seront rapidement dépassés en nombre et donc privés de la plupart des ressources CPU.


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

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

  3. Linux - Pourquoi n'y a-t-il pas de système de fichiers Rootfs présent sur le système ?

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

  5. Comment puis-je exécuter du code PHP à partir de la ligne de commande ?

Commande d'arrêt de Linux

Apprenez à connaître votre système (en utilisant la ligne de commande)

La commande supérieure de Linux

Comment utiliser la commande fd sur le système Linux

Comment installer et utiliser la commande Ack sous Linux

La commande System Activity Reporter (sar) sous Linux