2011-07-15 3 views
0

J'essaie d'écrire et de déboguer un code dans Xcode où je crée plusieurs processus (qui représentent des nœuds dans un réseau) et où ces processus doivent utiliser des IPC pour communiquer. au début, je recevais une erreur dans mon msgctl, je tentais de débogage à l'aide fprintf dans un fichier, quand il stoped créer des processus enfants tous ensemble, j'ai écrit un printf sous la formeProblème lors de la création de processus enfants dans xcode

pid[0]=fork(); 
if(pid[0]==0) { 
    printf("chicken"); 
} 

mais imprime rien, si Je suppose qu'aucun processus d'enfant n'est créé ... quelqu'un sait ce que je devrais faire? Merci

Répondre

0

vous devez peut-être rincer stdout, comme celui-ci

printf("chicken"); 
fflush(stdout); 
0

Vous devriez écrire quelque chose comme ça

pid[0]=fork(); 

if(pid[0]==0) 
    printf("chicken"); 

else if (pid[0] == -1) 
    perror("fork"); 

Cela affichera un message qui vous dira où le problème est de savoir si la fourche n'a pas fonctionné. Si cela ne veut pas imprimer le message d'erreur fork a fonctionné correctement et vous devriez vider (stdout) comme mentionné par neoneye.

Questions connexes