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; }