Compreendendo esta declaração de shell

8

Admito que é um dever de casa, mas estou perdido ao explicar a seguinte linha de comando:

AVISO : Esta é a chamada BOMBA DE FORQUILHA! Esta linha de comando pode e irá travar o seu PC consumindo toda a RAM e CPU (confie em mim, eu tentei ...)

:(){ :|:& };:

Como sei que devo fazê-lo sozinho, aqui está o que tenho até agora (pesquisar esses caracteres é muito desanimador).

  1. O canal permite concatenar alguns comandos juntos para que a primeira saída seja usada pela segunda como entrada.
  2. O & é executar um comando em segundo plano (basicamente usado para iniciar algo a partir de um shell que não deve ser bloqueado pelo comando)

Eu acho que: é bifurcar-se? Mas aqui estou totalmente perdido! Estou disposto a aprender, então talvez alguém tenha um bom recurso para ler sobre isso?

WarrenFaith
fonte
@kkp: não é uma situação em que seu sistema não está respondendo de maneira semelhante a uma falha? A solução para corrigi-lo é o mesmo: hard reset o sistema
WarrenFaith
Sim você está certo.
samarasa
FORKBOOOOOMB: D
zookalicious

Respostas:

14
:()      # define ':' -- whenever we say ':', do this:
{        # beginning of what to do when we say ':'
    :    # load another copy of the ':' function into memory...
    |    # ...and pipe its output to...
    :    # ...another copy of ':' function, which has to be loaded into memory
         # (therefore, ':|:' simply gets two copies of ':' loaded whenever ':' is called)
    &    # disown the functions -- if the first ':' is killed,
         #     all of the functions that it has started should NOT be auto-killed
}        # end of what to do when we say ':'
;        # Having defined ':', we should now...
:        # ...call ':', initiating a chain-reaction: each ':' will start two more.

Fonte: Forkbombs na Wikipedia

Egil
fonte
obrigado ... parece muito mal! Não sabia que você pode definir um método dessa maneira. muito interessante
WarrenFaith
você poderia me dizer como encontrou esse artigo da wikipedia? Eu tentei, mas não conseguiu ...
WarrenFaith
Eu já sabia o que procurar;)
Egil
2
Ok, então você é um hacker malvado :) obrigado mesmo assim! me ajudou muito
WarrenFaith
A maioria de nós que tenha visualizado os fóruns do Ubuntu foi avisado muitas vezes sobre a execução de forkbombs ou rm sudo rf você sabe o resto etc ... Não sei se é aí que Egil tem que partir embora: P
zookalicious