PDA

View Full Version : [C]Problema con semplice creazione processi


mpp
17-06-2011, 13:50
ciao a tutti!
Ho un problema che mi sta facendo esplodere la testa.
sto iniziando a studiare un pò di C per sistemi Unix(Linux nel mio caso)
E praticamente quando chiamo il getppid() all'interno del ciclo mi da come risultato sempre 1 come processo padre.
mentre se il ciclo non c'è tutto funziona normalmente.

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
#include <stdlib.h>

int main(){
int n;
int k=0;
pid_t pid;
printf("sono il processo %d \n",getpid());
printf("Quanti figli vuoi creare ? \n ");
scanf("%d",&n);
for(k=0;k<n;k++){

if((pid=fork())<0){
printf("fork error \n");
exit(11);
}

else
if(pid==0){
printf("ciao sono il processo figlio di %d con pid %d \n",getppid(),getpid());
exit(1);
}
else printf("ho generato il processo %d e sono %d \n",pid,getpid());

}

return 0;

}