【发布时间】:2015-12-20 00:56:05
【问题描述】:
所以我必须找到使用fork() 方法的这段代码的输出。我以为输出是 5 "hello" 但我得到了 8。这是为什么呢?这是代码:
#include "csapp.h"
void doit()
{
Fork();
Fork();
printf("hello\n");
return;
}
int main()
{
doit();
printf("hello\n");
exit(0);
}
【问题讨论】:
-
我不知道有什么函数叫做
Fork()。你确定不是fork()? -
提示:2*2^2=8 .....
-
你为什么期望 5?您将 1 个进程分成 2 个,然后将 2 个进程分成 4 个,然后每个进程打印两次“hello”。
-
printf("hello from %d\n", getpid() );可以帮助您了解所有问候的来源。 -
fork不是方法,而是函数!