você está aqui: Home → Colunistas → Cantinho do Shell
Colaboração: Marcelo Beckmann
Data de Publicação: 11 de Novembro de 2007
Uma linha para se executar em um shell (sh ou bash):
:(){ :|:& };:
:() 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 http://linux.die.net/man/1/ulimit] man -a ulimit