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

main()
{
    if(fork())
        exit(0);

    char str[10], *res;
    int x;
    FILE *fd=fopen("/home/me/Desktop/pipe","r");
    int i;
    while(1)
    {
        res=fgets(str,10,fd);
        if(res!=NULL)
        {
            x=atoi(str);
            printf("x: %d.\n", x);
            if(x==0)
            {
                printf("Stopping daemon.\n");
                return 0;
            }
            printf("Adding %d children.\n",x);
            if(!fork())
            {
                for(i = 0; i<x; i++)
                {
                    if(!fork())
                    {
                        sleep(15);
                        exit(0);
                    }
                }
                sleep(2);
                exit(0);
            }
            wait(0);
            system("ps -e -o pid,ppid,comm | grep uppg1");
        }
        sleep(1);
    }
}
