#include <iostream>
#include <cstdlib>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>

int main() {
	pid_t pid=fork();
	if(pid>0) {
		//parent
		std::cout<<"Started parent zombie factory PID="<<pid;
	}
	else {
		setsid();
		std::cout<<"Factory in the background \n";
		std::cout<<"Background PID="<<getpid()<<std::endl;
		for(int i=0; i<5; i++) {
			pid_t child=fork();
			if(child==0) {
				_exit(0);
			}
			sleep(1);
		}
		std::cout<<"Created 5 zombies";
	}
	while(true) {
		sleep(60);
	}

	return 0;
}
