El jue, 24-06-2004 a las 16:37, Carlos Manuel Duclos Vergara escribió: > > > ls -lR > archivo > > > > No pues, ya ejecute "ls -lR" y esta en medio de toda esa salida. > > > > El asunto es que no quiero/puedo cortar el proceso y quiero que empieze a > > tirar la salida a otro lado. > > > > el problema es que es una imposibilidad "fisica"! > el proceso B (ls -lR en este caso) fue creado por el proceso A (bash o el > shell correspondiente). Una vez que B esta en ejecucion A no puede acceder > a su espacio de memoria y redireccionar la salida hacia otro lado. Si lo > haces al momento de iniciar la ejecucion lo que hara A es cambiar antes de > hacer un exec los descriptores de archivo para la salida o la entrada > (segun sea lo que necesites) y despues de eso hara el exec. Fork utiliza > los descriptores de archivo del padre (bueno, depende de si estas > sobre linux o un bsd), entre los que se cuentan los de salida/entrada > estandar y exec se encarga del resto de la memoria y esos detalles. Quizas > si el shell usase vfork se lograria algo (vfork no copia nada, crea todo > nuevo, es por eso que fork en uclinux no funciona y vfork si funciona) > pero tambien lo veo dificil. Tu unica opcion seria acceder maliciosamente > a la memoria y cambiar las estructuras de datos del kernel para permitir > ese funcionamiento.
Es definitivo, no pude echarlo a andar de ninguna forma......

