Buenas =)
Hace poco me estaba preguntando cómo podría hacer un programa que se replique a sí mismo infinitas veces con un bucle infinito que pete la memoria para colgar en cuestión de algunos segundos el SO. He estado buscando por la red y en este mismo foro y hablan sobre el uso de un loop y la función free().
Alguien tendría la idea básica de cómo podría lograr esto?.
Salu2 y gracias
pues nunca he tenido necesidad de hacer eso :o ,
pero supongo que con un while (condicion) en la condicion pon algo q simpre se cumpla y asi se repetira infinitas veces.
while (1)
y dentro del while metele un malloc() o algo asi, q vaya reservando memoria cada vez que se ejecute el while. Evidentemente dentro del malloc tendras q poner un contador o algo para que cada vez que se ejecute reserve mas y mas y mas memoria.
Aunque no se si petara o no el SO, normalmente es el programa el q peta dandote un "segmentation fault" o algo asi, vamos que te va a generar un core
animos, aunque me parece una tonteria de programa ....
Bueno si encuentras un sistema GNU/Linux tan chafas o antiguo (sin quotas, un kernel antiguo, etc.) pues dale dale, ahora si han implementado quotas y restricciones a otros niveles, y si tienen un kernel medio actualizado, entonces no le veo tanto la gracia; por ejemplo actualmente en los sistemas GNU/Linux, si un proceso esta comiendo mas recursos, memoria de lo "permitido" el kernel terminara dicho proceso.
Bueno Suerte,
averno.