#include <stdio.h>
void filho(char*nome,int a, int b);

int main(int argc, char**argv)
  {
  int a=0,b=0;
  fprintf(stderr,"Eu sou o primeiro processo.\n");
  a = fork(); //isaac
  b = fork(); // Jacob
  
  fprintf(stderr,"Depois do Fork a=%d,b=%d\n",a,b);

  if (a==0 && b != 0)
    {
    filho("Isaac",a,b);
     waitpid(b,0,0);
     }
  else
  if (b==0 && a !=0)
    filho("Jacob",a,b);
  else
  if (a==0 && b ==0)
    filho("Neto",a,b);

  else
    {
    fprintf(stderr,"Criei um filho.\n");
    fprintf(stderr,"Pai: a=%d,b=%d\n",a,b);
    waitpid(a,0,0);
    waitpid(b,0,0);
    fprintf(stderr,"Ele morreu.\n");
    }
  }

void filho(char*nome,int a,int b)
  {
  int i;
  fprintf(stderr,"Filho: a=%d,b=%d\n",a,b);
  for (i=0;i<5;++i)
    {
    long x=2000000;
    for (;x;--x)
      ;
    fprintf(stderr,"Sou filho, meu nome é %s\n",nome);
    }
  
  }


