我正在尝试在Xcode中编写和调试代码,在那里我创建了几个进程(代表网络中的节点)以及这些进程必须使用IPC进行通信的位置。起初我在我的msgctl中收到错误,我试图使用fprintf
调试文件,当它一起停止创建子进程时,我在表单中写了printf
pid[0]=fork();
if(pid[0]==0) {
printf("chicken");
}
但没有打印,所以我假设没有创建子进程...任何人都知道我应该做什么? 感谢
答案 0 :(得分:0)
也许你需要冲洗stdout,就像这样
printf("chicken");
fflush(stdout);
答案 1 :(得分:0)
你应该写这样的东西
pid[0]=fork();
if(pid[0]==0)
printf("chicken");
else if (pid[0] == -1)
perror("fork");
这将打印一条消息,告诉您如果fork不起作用,问题出在哪里。如果它不会打印错误消息fork正常工作,你应该如neoneye所述刷新(stdout)。