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

int main(int argc, char * argv[]) {
   int counter = 0 ;
   int ppid = getpid() ;
   int bpid ;
   int status ;

   while ( counter<5 ) {
      if ( (bpid=fork()) == 0 ) {
          /* child */
          exit(0) ;
      }
      /* else parent */
      if ( wait(&status)!= bpid ) {
        printf("error: returned pid not child's\n" ) ;
      }
      printf("rec'd death of child pid %d\n", bpid ) ;
 

      counter++ ;
   }
   printf("process %d says bye-bye\n", ppid ) ;


}

