jueves, 22 de septiembre de 2011

PRACTICA 3 Y 4

CODIGO PID 1450
#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);
 }
}
}


PRACTICA 4

#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  y mi hijo es %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("Fallo en WAIT");
   exit(EXIT_FAILURE);

  exit(EXIT_SUCCESS); 
 }
 else if(ret==-1)
 {
  perror("Fallo en Fork");
  exit(EXIT_FAILURE);
 }
}
}


Publicado por Ma. Isabel Serrano Medina 1701

No hay comentarios:

Publicar un comentario