linux系统下 fork()系统调用, 关于父子进程缓存问题的小坑
1. 首先看一个简单示例程序如下
#include <stdio.h>
#include <unistd.h>
#include <assert.h>
int main(int argc, char **argv)
{
printf("before fork: in father...\n");
pid_t child = fork();
assert( child >= 0 );
if ( 0 == child )
printf("in child...\n");
if ( child > 0 )

本文探讨了在Linux系统下使用fork()创建子进程时,关于父子进程缓存的问题。通过示例程序展示了因printf未使用换行符导致的缓存复制现象,解释了终端与文件缓存的差异,并提出了通过flush函数刷新缓存的解决方案。

559

被折叠的 条评论
为什么被折叠?



