hola a todos
necesito vuestra ayuda tengo que hacer un programa con las llamadas al sistema fork execlp y wait q me cree tres procesos y que esten permanentemente activos, es decir un bucle infinito que detecte que proceso se cerro y volverlo a activar.
tengo creado los 3 procesos de esta manera
int i;
pid_t pid[2];
for (i=0; i<=2; i++)
{
switch (pid[i]=fork())
{
case 0 : switch (i)
{
case 0: execlp("programa1", "", 0);
case 1: execlp("programa2", "", 0);
case 2: execlp("programa3", "", 0);
}
case -1: perror("Fallo creando proceso");
break;
}
}
Hasta aqui bien, me los crea y me los ejecuta con execlp ahora le he metio un bucle infinito for(;;) dentro de ese bucle infinito deberia esperar a que un hijo se caiga entonces hago otro fork y dependiendo del hijo que caiga ejecuto de nuevo el programa que se cayó.
Como podría implementar esta ultima parte ayudadme
Gracias un saludo