Actividad

Desarrolla un programa que use las llamadas al sistema fork() y alguna de las llamadas de la familia exec() para ejecutar el siguiente programa con los argumentos indicados:

ls -lR /etc

El programa desarrollado debe esperar hasta que el comando 'ls' anterior termine antes de finalizar su propia ejecución. Cuando el programa termine, solo debe usar el valor de salida 0 si todo se ha podido realizar correctamente. Es decir, si fork() pudo crear el proceso hijo, exec() pudo cargar el programa indicado en el proceso hijo y el proceso hijo termino con éxito (valor de salida 0). En cualquier otro caso, nuestro programa debe terminar con un valor distinto de 0.

Recursos

Solución

El programa fork-exec.c del repositorio de ejemplos es una posible solución del ejercicio, con la única salvedad de que ejecuta el comando 'ls -l', en lugar de 'ls -lR /etc', como se pide en el enunciado de la actividad.

Última modificación: domingo, 21 de agosto de 2022, 20:55