189 8069 5689

fork和vfork程序验证区别

  1 #include
  2 #include
  3 #include
  4 int _gvalue=100;
  5 int main()
  6 {
  7     int _val=200;
  8     pid_t id=fork();
  9     if(id<0)
 10     {
 11         perror("fork");
 12         return 2;
 13     }
 14     else if(id==0)
 15     {
 16         printf("_gvalue: %d,_val: %d\n",_gvalue++,_val++);
 17         exit(0);
 18     }
 19     else
 20     {
 21         printf("_gvalue: %d,_val: %d\n",_gvalue,_val);
 22         exit(0);
 23     }
 24     return 0;
 25 }
 26
 //结果:相互之间数据不受影响
 //[lxj@localhost 2016_4_9]$ ./test1
 //_gvalue: 100,_val: 200
 //_gvalue: 100,_val: 200
  1 #include
  2 #include
  3 #include
  4 int _gvalue=100;
  5 int main()
  6 {
  7     int _val=200;
  8     pid_t id=vfork();
  9     if(id<0)
 10     {
 11         perror("fork");
 12         return 2;
 13     }
 14     else if(id==0)
 15     {
 16         printf("_gvalue: %d,_val: %d\n",_gvalue++,_val++);
 17         exit(0);
 18     }
 19     else
 20     {
 21         printf("_gvalue: %d,_val: %d\n",_gvalue,_val);
 22         exit(0);
 23     }
 24     return 0;
 25 }
 26
//结果:共享地址空间
//[lxj@localhost 2016_4_9]$ ./test1
//_gvalue: 100,_val: 200
//_gvalue: 101,_val: 201

分享名称:fork和vfork程序验证区别
文章出自:http://cdxtjz.cn/article/psdgio.html

其他资讯