• Viernes 15 de Noviembre de 2024, 02:59

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - tuflotas

Páginas: [1]
1
C/C++ / error de stat en un programa creando un proceso
« en: Martes 29 de Diciembre de 2009, 12:22 »
Hola,

El programa que he hecho consiste en que se ejecute varios comandos como haria en la shell ls | sort ... pero sin poner |, es decir, sería ./prueba ls sort y asi tendría que ejecutarse.

Lo que he hecho ha sido crear un programa con un bucle hasta el numero de argumentos que metas - 1. Con esto voy mirando si eres el primer comando a ejecutar necesitas crear una tuberia y escribir en ella, luego los comandos intermedios necesitaran leer de la tuberia anterior y escribir en una nueva y el ultimo argumento necesitara leer de la anterior tuberia y escribir en la salida estandar.

Una vez creada la tuberia que necesite cada argumento hago pid = fork(); si pid == 0 entonces eres el hijo y hago que se ejecute el comando que viene en argc (i es el numero de iteracion en el que estoy) y si eres padre pongo waitpid(-1,status.0);

Bueno, el problema es que a partir de la segunda iteracion, mirando con el gbd he visto que tras pid=fork(); me sale el error "sort: fallo en `stat': -: Descriptor de archivo inválido" y ya no ejecuta nada más , alguien sabe que pued eestar haciendo??

Páginas: [1]