我正在编写将进程分为两部分的代码,然后父进程通过管道将参数发送给main。小孩一个一个地计算字符并打印最终结果。父母然后应该使用waitpid()收获孩子。父母为什么不收割孩子?
如果我删除子进程中的循环,那么收获将会发生,但是如果我将它留在(这是必要的),程序将执行并终止,但收获不会发生。我不知道这是为什么。任何帮助将不胜感激。这是一堂课的作业。谢谢!
这里是我的代码:
if(waitpid(pid, &status, WNOHANG) > 0)
{
printf("parent reaps child status 0x%08X\n", status);
if(WIFEXITED(status))
printf("child exited normally with %d\n", WEXITSTATUS(status));
}
close(out);
return 0;
而且我知道有没有错误在此代码检查...我只是试图得到它的第一个工作...
或换句话说,“为什么这个家长没有强奸孩子?” – 2013-03-09 20:45:46
多么可怕的标题。 :( – 2013-03-09 20:46:02
lmao ...哇我怎么没有看到... – user2152382 2013-03-09 20:54:59