int main(void)
{ // 现在是一个进程
fork(); // fork 一次后,生成一个新进程,共2个进程
fork(); // fork 后,每个进程又生成一个新进程,原 2 个进程变成 4 个
fork(); // fork 后,每个进程又生成一个新进程,原 4 个进程变成 8 个
printf(" test \n"); // 共 8 个进程,都执行 printf 命令,当然会执行 8 次。
return 0;
}
建议把 printf(" test \n"); 换成 printf(" test %d \n" getpid());, 就能看到每个输出都是不同的进程输出的。