阅读背景:

一个程序崩溃了?其他运行的程序怎么没有受影响?多亏了虚拟存储

来源:互联网 

先看一个奇怪的例子:

#include <stdio.h>                                                                                                   
#include <unistd.h>                                                                                                  
#include <stdlib.h>

int val = 0;                                                                                                          int main()                                                                                                           
{                                                                                                                    
  pid_t  id = fork();                                                                                                
  if(id < 0)                                                                                                         
  {                                                                                                                  
     perror("fork\n");                                                                                                
     return 0;                                                                                                        
  }                                                                                                                  
 if(id == 0)                                                                                                        
  {                                                                                                                  
     //child                                                                                                          
     //val = 100;                                                                                                     
     printf("child = %d,pid = %d,%p\n",val,getpid(),&val);                                                            
  }        else                                                                                                               
  else
  {                                                                                                                  
     //parent                                                                                                         
     sleep(3);                                                                                                        
     printf("parent = %d,pid = %d,%p\n",val,getpid(),&val);                                                           
  }                                                                                                                  
      sleep(1);                                                                                                          
      return 0; 
}
            #include <stdio.h>         



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: