El 21/04/07, Ryouga Hibiki escribió:
Pues si, es de lo mas interesante, segun lo que entendi... el bucle esta en :|:
Sí, eso entendí también de la explicación. En SuSE el usuario ha iniciado una sesión en bash y puede introducir comandos y ejecutar funciones, en este caso iterativas (bucle). De la explicación del correo, entiendo lo siguiente: :() # crea la función sin parámetros (que irían dentro del paréntesis) { # inicio de la función :|:& # comando a ejecutar, en este caso los dos puntos, la barra y los dos puntos crean procesos en el sistema de forma recursiva (¿pero qué tipo de procesos?) y el símbolo de "ampersand" los pone en segundo plano para que si el proceso padre finaliza no lo haga el proceso hijo. }; # finaliza la función : # inicia la función
los ejemplos en Wikipedia aclaran algo acerca de como trabaja el programa, me interesa saber cual es la diferencia entre () y {} es que uno es para indicar los parametros de entrada de la funcion y lo que esta entre llaves es lo que hace el programa? (osea como en C)
Depende del lenguaje de programación (bash en este caso) cada uno suele utilizar símbolos concretos, pero en este caso es como dices: paréntesis para crear la función y corchetes para definir el comando a ejecutar. En javascript también se utilizan de la misma forma.
Osea funcion :() { :|:& /*invoca la salida de : para : y usa & }; : <-- ?? para que es esta parte? juas ya me hice bolas =P~ es cuando se realiza la invocacion parece.
=S me hace acordar aquellos tiempos cuando estab aprendiendo a programas =)~
Muchisimas gracias por la aclaracion y comentarios que se hagan, interesante que las iteraciones y recursividad todavia puedan matar una PC
Sí, tendría haber un monitor de procesos desbocados que impida la creación de nuevos en el sistema si se ve comprometida su estabilidad. No es lo mismo tumbar un servicio (servidor web) que el sistema completo... aunque también es verdad que propio el sistema es un servicio más. En el documento de la Wikipedia sugieren limitar el número de procesos que puede ejecutar un usuario para evitar este tipo de ataques. Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org