#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

main()
{
	
  char str[10], *res; int x,i;
      if(fork()){
	exit(0);
	}
  FILE *fd=fopen("./pipe","r");

  while(1) {
    res=fgets(str,10,fd);
    if(res!=NULL) {
      x=atoi(str); 
	if(x<=0){
		printf("Stopping daemon");
		break;
	}
	printf("Adding %d children under init.\n", x);
	if(!fork()){
	for(i=0;i<x;i++){
		if(!fork()){
			sleep(2);
			exit(0);
		}
	}
	exit(0);
	}
	wait(0);
      system("ps -e -o pid,ppid,comm | grep uppg1");
    }
    sleep(1);
  }

}
