El código que se propone es:
#include sys types.h
#include unistd.h
#include stdio.h
#include stdlib.h
#include sys wait.h
int main(void)
{
int i=0; // contador
int a; // valor solicitado
int status=0; // id. de estado
printf(" Introduzca el número de procesos hijos que desea crear.\n Debe ser numero entero entre 0 y 100: ");
scanf("%d",&a);
if (a == 0)
{
printf ("X-No hacemos nada\n");
exit(0);
}
if ((a > 0) && (a < 101))
{
printf("|-Parent Process -> PID:%d\n", getpid());
for(i=0; i<=a; i++)
{
pid_t pid=fork();
if (pid<0 data-blogger-escaped-cero="" data-blogger-escaped-d-="" data-blogger-escaped-entonces="" data-blogger-escaped-es="" data-blogger-escaped-hijo="" data-blogger-escaped-hild="" data-blogger-escaped-if="" data-blogger-escaped-n="" data-blogger-escaped-pid="" data-blogger-escaped-printf="" data-blogger-escaped-proceso="" data-blogger-escaped-process="" data-blogger-escaped-rror="" data-blogger-escaped-si="" data-blogger-escaped-un=""> PID:%d - Parent Process %d\n", i, getpid(), getppid());
exit(0);
}
wait(&status); // el padre espera a los hijos
}
else
{
printf("X-El valor %d está fuera de rango.\n", a);
}
return 0;
}
Resultado:


No hay comentarios:
Publicar un comentario