Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] ¿Por que este código de ruby congela Kali Linux completamente?

  • 7 Respuestas
  • 3349 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado iGreentick

  • *
  • Underc0der
  • Mensajes: 29
  • Actividad:
    0%
  • Reputación -4
    • Ver Perfil
« en: Junio 22, 2016, 10:11:38 pm »
Buenas a todos. Antes de comenzar (Por si desvarío un poco) cabe destacar que comencé mi primera guía de Ruby hace 4 días literalmente; y es mi primer lenguaje de programación; con lo que todavía soy demasiado noob. (Tiempo al tiempo....)

El caso; he estado siguiendo unas practicas; y yo.. que soy muy curioso; he querido probar cosas por mi cuenta.. he creado un código muy muy muy básico (No sabria crear nada mas) en el que una parte de él, creaba una matriz vacía, y seguídamente hacía un while con la condición de que si dentro de la matriz no está X objeto (En este caso 0 ), en la misma matriz se le añadirá un objeto (En este caso 1) esto por lo que entiendo hace que se cree un bucle infinito añadiendo ese mismo objeto todo el rato.

El código no era sólo eso; pero me di cuenta que al llegar a ese paso; el ordenador se me CONGELABA y no me dejaba hacer nada. (incluso entrar a modo comandas con CTRL + ALT + F1) . He intentado lanzar ese código 3 veces y las 3; he tenido que apagar el equipo de manera forzada.

Al ver que me pasaba eso; he intentado sacar esa parte del código y hacerla más simple. He querido comprobar si DE VERDAD ese código congela mi ordenador; y sí, lo hace cada vez que lo inicio.

Me gustaría que alguien más probase el código y me diga si le ocurre lo mismo. También; si alguien (Que seguro que alguien habrá) Sabe por qué pasa esto; me gustaría que me lo explicase, para así, poder entenderlo todo bien.

PD: Si no se os congela cuando lancéis el codigo; intentad usar un poco vuestro equipo (Entrar a alguna carpeta, abrir navegador..)

Citar
x = []
while x != '0'
x.push '1'
end
puts 'si el texto sale; algo ha ido mal'


PD2: ¿Es correcto usar la terminación 'Lanzar' para ejecutar un archivo ruby? en caso contrario; como se diría correctamente?.
Gracias!
« Última modificación: Junio 23, 2016, 12:00:08 pm por Nobody »
8Noobs <- Más que una comunidad, una familia. (www.8noobs.hol.es)

La percepción, es solo una percepción

Conectado noxonsoftwares

  • *
  • Underc0der
  • Mensajes: 296
  • Actividad:
    8.33%
  • Reputación 6
  • Ayudar es Crecer, Crecer es Mejorar
    • Ver Perfil
    • NOXONSOFTWARES
  • Skype: noxonsoftwares
« Respuesta #1 en: Junio 22, 2016, 11:01:04 pm »
No entiendo ruby pero supongo que es una sobrecarga de la memoria.
Si no colocas una parada while se hará infinito sobrecargado la memoria.

Desconectado iGreentick

  • *
  • Underc0der
  • Mensajes: 29
  • Actividad:
    0%
  • Reputación -4
    • Ver Perfil
« Respuesta #2 en: Junio 22, 2016, 11:09:48 pm »
Hmmm, dos cositas.
1- ¿Una qué while? No se apenas de progamación.. qué es eso y cómo se pone.
2- Entonces.. si este código sobrecarga la memoria;  encuentro algo que este escrito con ruby., le meto ese trozo de código dentro.. y podría decirse que he modificado eso para que sea una especie de "programa que te deja el ordenador colapsado?"
8Noobs <- Más que una comunidad, una familia. (www.8noobs.hol.es)

La percepción, es solo una percepción

Conectado noxonsoftwares

  • *
  • Underc0der
  • Mensajes: 296
  • Actividad:
    8.33%
  • Reputación 6
  • Ayudar es Crecer, Crecer es Mejorar
    • Ver Perfil
    • NOXONSOFTWARES
  • Skype: noxonsoftwares
« Respuesta #3 en: Junio 23, 2016, 01:43:47 am »
Acá tienes una definición . no puedo escribir mucho porque se me complica desde el smartphone

http://codigoprogramacion.com/cursos/programacion-ruby/ciclo-while-en-ruby.html#.V2totRkn7qA

Desconectado coke951

  • *
  • Underc0der
  • Mensajes: 38
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
  • Skype: Cok3951
« Respuesta #4 en: Junio 23, 2016, 03:07:40 am »
Es como una bomba fork... ¿no?

https://es.wikipedia.org/wiki/Bomba_fork


Desconectado iGreentick

  • *
  • Underc0der
  • Mensajes: 29
  • Actividad:
    0%
  • Reputación -4
    • Ver Perfil
« Respuesta #5 en: Junio 23, 2016, 09:39:42 am »
Es como una bomba fork... ¿no?

https://es.wikipedia.org/wiki/Bomba_fork

Buenas; Por lo que me he informado.. (Como siempre repito.. no sé si lo que digo es bien bien cierto, ya que todavía estoy aprendiendo) quizás, no es bien bien como una bomba fork; pero se le parece un poco...

El caso es; la bomba fork por lo que he leido; es un proceso, que crea a su vez dos procesos que a su vez cada proceso crea otros dos.. bla bla bla bla BOOM.

pero... con ese código, lo que haces es crear una matriz (Un baul, por asi decirlo) y añadir un objeto repetidas veces en ese baúl.. con lo que el baul va creciendo.. y creciendo.. y llenando la ram.. y creciendo.. y llenando al ram.. y creciendo más.. hasta que la ram llega a su tope. pero TODO eso se hace desde un único proceso.


¿ME EQUIVOCO?! (espero que sí, es muy raro que pille las cosas tan rapidamente)
8Noobs <- Más que una comunidad, una familia. (www.8noobs.hol.es)

La percepción, es solo una percepción

Desconectado Matabarras

  • *
  • Underc0der
  • Mensajes: 129
  • Actividad:
    0%
  • Reputación 0
  • In-Seguridad informática
    • Ver Perfil
  • Skype: Matabarrasfud
« Respuesta #6 en: Junio 23, 2016, 10:23:46 am »
Es normal que si empiezas a llenar la ram todo el rato y siga y siga, deje de responder el ordenador, igual que cuando haces un bucle infinito en php seguramente te colapse el navegador.

Es algo lógico es como si me pongo a darte puñetazos infinitamente en algun momento te caeras.
O como cuando realizan un ataque ddos si el servidor no deja de recibir muchas peticiones en breve tiempo en algun momento caera.
No esperes nada, vive la vida, y que los demas hagan lo que ellos creen.

Desconectado rush

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 7
    • Ver Perfil
  • Skype: iruxh1773
« Respuesta #7 en: Junio 23, 2016, 11:54:08 am »
Es como si hicieras esto para windows

Citar
:start
start calc.exe
goto start

Aunque tengas una computadora veloz llegara un punto en que se saturara la memoria y moriras!
« Última modificación: Junio 23, 2016, 11:55:45 am por rush »

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 8227
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 9607
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 10789
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon
[SOLUCIONADO] Problem al instalar Windows "cualquier windows"

Iniciado por Made

Respuestas: 7
Vistas: 7881
Último mensaje Septiembre 03, 2012, 04:53:08 pm
por Made
[SOLUCIONADO] Que significa .phps - Que es .phps

Iniciado por graphixx

Respuestas: 6
Vistas: 4748
Último mensaje Abril 23, 2015, 09:28:57 am
por ANTRAX