Il fork()

#include<iostream>
#include<cstdlib>
#include<ctime>
#include<unistd.h>
#include<stdlib.h>
#include<windows.h>
#include<sys/wait.h>
using namespace std;


int main(int argc, char *argv[])
{

pid_t pid;

cout<<"ciao sono pid "<<pid<<endl;

//il fork qui duplica il processo padre in un figlio
pid=fork();

cout<<"ciao sono pid nato dopo con il mio figlio   "<<pid<<endl;

}

Questo invece genera infiniti processi figli tutti con pid 0 anche se il for viene eseguito una volta sola

#include<iostream>
#include<cstdlib>
#include<ctime>
#include<unistd.h>
#include<stdlib.h>
#include<windows.h>
#include<sys/wait.h>
using namespace std;


int main(int argc, char *argv[])
{

pid_t pid;

cout<<"ciao sono pid "<<pid<<endl;

//il fork qui duplica il processo padre in un figlio
for(int i=0;i<10;i++)
i=fork();

cout<<"ciao sono pid nato dopo con il mio figlio   "<<pid<<endl;

}