practica de laboratorio


Practicas de laboratorio


 #include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

#define NUM_HIJOS 3

int main (void)
{
int ret,i;
for(i=0;i<NUM_HIJOS;i++)
    {
        ret=fork();
        if(ret==0)
        {
            printf("Yo soy el hijo %d, mi padre es PID=%d, yo soy PID=%d \n",i,getpid(),getpid());
        }
        else if (ret>0)
        {
            ret=wait(NULL);
            while(ret>0)
            {
                ret=wait(NULL);
            }
  
        }
  
    if(ret==-1 && errno!=ECHILD)
        {
            perror("Falo en WAIT");
            exit(EXIT_FAILURE);
      
        exit(EXIT_SUCCESS); //  }
    }  
    else if(ret==-1)
    {
        perror("Fallo en Fork");
        exit(EXIT_FAILURE);
    }  
}  
}




#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

#define NUM_HIJOS 2

int main (void)
{
int ret,i;
for(i=0;i<NUM_HIJOS;i++)
    {
        ret=fork();
        if(ret==0)
        {
            printf("Yo soy el hijo %d, mi padre es PID=%d, yo soy PID=%d , yo soy el hijo 3 del pid2=%d\n",i,getpid(),getpid(),getppid());
        }
        else if (ret>0)
        {
            ret=wait(NULL);
            while(ret>0)
            {
                ret=wait(NULL);
                   
                       

            }
   
        }
   
    if(ret==-1 && errno!=ECHILD)
        {
            perror("Falo en WAIT");
            exit(EXIT_FAILURE);
       
        exit(EXIT_SUCCESS);
    }   
    else if(ret==-1)
    {
        perror("Fallo en Fork");
        exit(EXIT_FAILURE);
    }   
}   
}








1 comentario: