我运行了以下代码:
#include <stdio.h>
#include <sys/types.h>
int main()
{
fork();
fork();
fork();
printf("hello\n");
return 0;
}
打印出单词&#34; Hello&#34; 8次,程序没有退出。这背后的原因是什么?
答案 0 :(得分:3)
这是计算2 ^ 3的一种偶然有趣的方式。第一个fork使第二个fork发生两次,它们各自使第三个fork发生两次,所有8个子进行printf!这8个进程会退出,但是你的提示会在噪音中丢失。
正如评论者暗示的那样,你从根本上误解了fork()是什么以及它在做什么。但是一路上你做了一个有趣的玩具,那么勇敢!