Programación General > C/C++

 C: relanzar procesos hijo - wait() y fork()

(1/1)

zany_666:
Hola a tod@s! Me estoy haciendo un programilla en C en el que tengo varios procesos creados con fork() y cada uno de estos procesos ejecuta un programa con exec(). Al ejecutar mi programa, todos los que quiero ejecutar con exec () se lanzan a la vez. Por último, en el código de mi programa hago un wait() para esperar a que cada hijo (proceso) termine y muestro el estado con el que han salid. Hasta aquí todo me funciona bien, pero me gustaría que cuando uno de estos programas se cierre o muera se vuelva a lanzar, es decir, siempre van a estar ejecutandose.
He utilizado


--- Código: C ---Seleccionar todo    if (WIFEXITED(status)){             execvp (...);                            exit(EXIT_FAILURE);          } 

Pero con esto solo me lanza el primer programa ejecutado con exec() sea cual sea el que cierre, y lo que quiero es que si tengo tres programas A, B, C, se ejecuten simultaneamente y si cierrro el A se vuelva a lanzar el A. No sé si me explicado bien...
¿Cómo puedo saber cuando un hijo termina (sea cual sea el estado en que termino) para volver a lanzar el proceso?

Gracias adelantadas!

Navegación

[0] Índice de Mensajes

Ir a la versión completa