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

main(int argc, char *argv[])
{
    int i, n, d; n=atoi(argv[1]); d=atoi(argv[2]);
    for (i = 0; i < n; i++) {
        if (fork() == 0) { // temp parent
            if (fork() == 0) { // under init
                if (i + 1 != d)
                    sleep(2);
                else
                    sleep(1);
                exit(0); // wait to remove zombie ??
            }
            exit(0);
        }
        else {
            wait(0); //wait to clean temp zombie
        }
    }

    sleep(1);
    system("echo ============================== 1 second passed");
    system("ps -e -o pid,ppid,pgid,sess,comm | grep uppg1");
    sleep(2);
    system("echo ============================== 3 seconds passed");
    system("ps -e -o pid,ppid,pgid,sess,comm | grep uppg1");
    sleep(2);
    system("echo ============================== 5 seconds passed");
    system("ps -e -o pid,ppid,pgid,sess,comm | grep uppg1");
}

