日期:2014-05-16  浏览次数:20706 次

fork()创建进程
求帮助,关于UNIX下的进程问题
程序void main(){
  int a=10;
  printf("a=%d\n",a);
  fork();
  a+=10;
  printf("a=%d\n",a);
  fork();
  a+=10;
  printf("a=%d\n",a);
}
问程序从初始运行到全部结束,系统一共创建了几个进程???

------解决方案--------------------
一共创建了3个子进程……
由于fork函数的特性是执行一次返回两次,所以嵌套使用后,printf的执行次数是:2^n-1次……
也就是:2^3-1=7次……
------解决方案--------------------
探讨
一共创建了3个子进程……
由于fork函数的特性是执行一次返回两次,所以嵌套使用后,printf的执行次数是:2^n-1次……
也就是:2^3-1=7次……