Comprender esta declaración de shell

8

Admito que es una tarea, pero no puedo explicar la siguiente línea de comando:

ADVERTENCIA : ¡Esto es lo que se llama FORK BOMB! Esta línea de comando puede y bloqueará tu PC al consumir toda la RAM y CPU (créeme, lo probé ...)

:(){ :|:& };:

Como sé que debería hacerlo solo aquí es lo que tengo hasta ahora (la búsqueda de estos caracteres es muy desalentador).

  1. La tubería permite concatenar algunos comandos para que la segunda salida sea utilizada por la segunda como entrada.
  2. El & es ejecutar un comando en segundo plano (básicamente se usa para iniciar algo desde un shell que no debe ser bloqueado por el comando)

Supongo que: es bifurcar? ¡Pero aquí estoy totalmente perdido! Estoy dispuesto a aprender, ¿tal vez alguien tenga un buen recurso donde pueda leer sobre eso?

WarrenFe
fuente
@kkp: ¿no es una situación en la que su sistema no responde de manera similar a un bloqueo? La solución para solucionarlo es la misma: restablecimiento completo del sistema
WarrenFaith
Si, tienes razón.
samarasa
FORKBOOOOOMB: D
zookalicious

Respuestas:

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.

Fuente: Forkbombs en Wikipedia

Egil
fuente
gracias ... suena bastante mal! No sabía que puede definir un método de esta manera. muy interesante
WarrenFaith
¿podrías decirme cómo encontraste ese artículo de Wikipedia? Lo intenté pero no lo logré ...
WarrenFaith
Ya sabía qué buscar;)
Egil
2
Ok, entonces eres un malvado hacker malo :) gracias de todos modos me ayudó mucho
WarrenFaith
La mayoría de nosotros que han navegado por los foros de Ubuntu han advertido muchas veces sobre la ejecución de forkbombs o rm rf sudo ya sabes el resto etc ... No sé si es allí donde Egil lo obtuvo de embargo: P
zookalicious