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