fork 函数 和vfork 函数的区别
问题描述:
fork 函数 和vfork 函数的区别
问题解决:
fork函数使用:
注:
以上printf 属于标准IO库带缓冲,如果标准输出链接到终端设备,则它是行缓冲,否则它是全缓冲
如果以控制台终端输出结果如下:
以上printf(“before fork”)只输出一行,原因是标准输出由换行符冲洗
     
如果将输出结果重定向到文件,输出结果如下:
由于文件是全缓冲,因此会看到两次 before fork的输出
     
     
vfork函数使用:
注:
vfork在子进程调用exec或exit之前,在父进程的地址空间中运行,vfork保证子进程先运行。
在此程序中,子进程执行完之后,释放局部变量local的空间,因此父进程执行时会出现段错误,
运行结果如下:
 
                    
                     
                    
                 
                    
                







 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号