【发布时间】:2011-06-27 23:27:19
【问题描述】:
fork() 究竟是如何工作的?
以下代码
#include <stdio.h>
int main (int argc, char const *argv[])
{
printf("Hi\n");
int i;
for(i = 1; i < argc; i++)
{
printf("Argument %d is %s\n", i, argv[i]);
fork();
printf("Forked in for loop increment %d\n", i);
}
return 0;
}
给出以下输出
/a.out 你好世界
参数 1 是你好
fork 循环增量 1
参数 2 是世界
fork 循环增量 2
fork 循环增量 1
参数 2 是世界
fork 循环增量 2
fork 循环增量 2
一般来说,fork 先执行什么代码。我想知道 fork() 的原理,而不是仅仅基于这个例子。我可以在命令行上有多个参数。
【问题讨论】: