GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Por qué el comando “:(){ :|:&};:” hizo que el sistema se retrasara tanto que tuve que reiniciarlo?

¡PELIGRO!

No ejecute este comando para "probarlo" a menos que esté preparado para un bloqueo y/o un reinicio forzado de su sistema.

Estaba en mi Virtualbox ejecutando 12.04 tratando de compilar una aplicación y, mientras esperaba, me topé con un foro donde un comentario decía:

Prueba :(){ :|: & };:
También es divertido y no necesita rootear.

Sin pensarlo, lo ejecuté en mi terminal de gnomos. Hizo que mi 12.04 (en Virtualbox) se retrasara tanto que tuve que apagarlo.

Mi pregunta es ¿qué hace este comando?

:(){ :|:&};:

Mejor respuesta

Esto se llama bomba de horquilla.

:() significa que está definiendo una función llamada :

{:|: &} significa ejecutar la función : y enviar su salida al : vuelva a funcionar y ejecútelo en segundo plano.

El ; es un separador de comandos.

: ejecuta la función la primera vez.

Esencialmente, está creando una función que se llama a sí misma dos veces en cada llamada y no tiene forma de terminarse. Seguirá duplicándose hasta que se quede sin recursos del sistema.

Ejecutar en Virtualbox fue bastante sensato, de lo contrario, habría tenido que reiniciar su PC.


Ubuntu
  1. ¿Cómo ejecutar un comando como administrador del sistema (raíz)?

  2. Ubuntu:¿por qué no se ejecuta el comando Xmodmap al iniciar/iniciar sesión?

  3. ¿Por qué el siguiente comando está matando un sistema?

  4. ¿Qué sucederá si ejecuto el comando Init en la terminal de Ubuntu Gnome?

  5. Linux:¿por qué el kernel no puede ejecutar Init?

Comando de reinicio (reinicio) de Linux

Cómo reiniciar Debian usando la línea de comandos

3 formas de reiniciar Ubuntu a través de la línea de comandos

El comando superior de Linux

¿Por qué aparece "reparación de arranque" dos veces en la documentación de Ubuntu?

Cómo usar el comando fd en el sistema Linux