每个进程都有一个进程表 进程表里面是一些fd, 0,1,2...
每个fd对应打开的一个文件表 这个表的内容是文件相对此进程的信息 如当前偏移量 APPEND等标志
这个表最后对应着实际文件数据
有可能多个进程打开不同的文件表 但是指向同一个文件 因为可能2个进程都有fopen函数 然后读取偏移量不同
而已
fork出来的进程和父进程共享一张文件表
如果2个进程打开同一个文件 然后想进行添加操作的话 如果lseek 再write 可能会覆盖
所以采取APPEND标志 再用write而不是fwrite 就不会覆盖 (fwrite是全缓冲)
阅读(623) | 评论(0) | 转发(0) |