我正在編寫將進程分爲兩部分的代碼,然後父進程通過管道將參數發送給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