:(){ :|:& };:
- :() declaração de uma função de nome :
- :|:&
chamada da função : com um pipe para ela mesma e em segundo plano (|:&) - } fechamento da declaração da função
- : chamada da função :
Vamos escrever de uma outra forma para ficar mais fácil:
bomb(){ bomb|bomb& };bomb
ou:
bomb() { bomb | bomb & } bomb
Resultado: uma função recursiva que causa um loop de fork de processos, que pode ocasionar uso excessivo de processamento e memória causando lentidão na máquina. Assustador, uma linha de comando destruidora em alguns casos. Mas existem maneiras de prevenir este tipo de situação 🙂
SEE ALSO ulimit man -a ulimit
unkzo said,
outubro 8, 2007 às 7:21
Engracado foi certa vez no viva o linux, que criaram um artigo “travando qualquer maquina linux” e o pessoal meio que apavorado, sendo que isso é mais velho que a minha avó, hauhauha, mas muito boa sua explicação, flw