buxx8020882 发表于 2013-01-03 20:50

父子进程文件共享的一个问题

子进程和父进程共享打开的文件表项,但是复制一份自己的打开文件描述符,我想问的是,对于一个打开的文件,假如说是全缓冲的,然后fork一个子进程,此时子进程是不是也会产生一个新的该文件缓冲区? 还是和父进程共享一个文件缓冲区

linux_c_py_php 发表于 2013-01-03 21:41

全缓冲, 行缓冲, 无缓冲是指stdio, 即FILE结构体相关的, 他们都是应用层的内存buffer, 所以fork后buffer会和其他堆与栈变量一样复制到子进程, 也就是父进程执行printf("hello"); 然后fork子进程, 子进程输出printf(" world\n");的话, 子进程会打印完整的hello world
页: [1]
查看完整版本: 父子进程文件共享的一个问题