23/04/2007, 05:46
|
| | Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años, 8 meses Puntos: 0 | |
Creando procesos en C - Linux usando fork, exec, wait 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 |