4 votes

Pourquoi cette commande fait planter Linux

Duplicata possible :
Que signifie cette commande bash énigmatique ?

Pourquoi cette commande fait planter Linux ?

:(){ :|:& };:

20voto

James Mertz Points 390

La commande définit une fonction nommée : qui, lorsqu'il est appelé, génère deux copies de lui-même en arrière-plan et sort. Ces deux copies font de même, ce qui donne lieu à une quantité énorme de processus en une seconde seulement, qui se poursuit indéfiniment.

Voici exactement le même mais avec un nom plus lisible :

foo() {
    foo | foo &
}

foo

7voto

ThaKidd KG5ORD Points 329

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

3voto

Cristian Sitov Points 71

Il fait passer des processus en arrière-plan sans fin. Au bout d'un moment, il y a trop de processus, chacun prenant une petite quantité de ressources système.

3voto

g24l Points 889

Techniquement parlant, le système ne s'est pas effondré. Un crash du système produit une sortie avec des erreurs. Il ne s'est pas non plus arrêté. Cela signifierait que le système est en train de faire quelque chose et n'est pas revenu. Dans ce cas précis, il fonctionne correctement. Il met simplement trop de temps à répondre parce qu'une réalisation informatique a des ressources finies. Par conséquent, des processus infinis et des ressources finies entraînent un temps de réponse infini.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X