Prova a far girare questo e vedi se arrivi alle mie stesse conclusioni:
codice:#include <stdio.h> #include <unistd.h> #include <sys/wait.h> int main() { int i, count=0; pid_t pid; printf ("Padre %d: 1\n",getpid()); fflush(stdout); if(fork()==0) { printf ("Figlio1 %d: 2\n",getpid()); fflush(stdout); if((pid=fork())!=0) { for(i=0;i<4E8;i++) count+=i*i; } printf ("Sono %d: 3\n",getpid()); fflush(stdout); if(pid==0) { for(i=0;i<4E8;i++) count+=i*i; } } else wait(NULL); printf ("Sono %d: 4\n",getpid()); fflush(stdout); return 0; }

Rispondi quotando