本文主要是介绍57 读取/写出/读取 文件的过程的调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
问题来自于文章 请教文件读写问题
请教文件读写问题 - 内核源码-Chinaunix
vim 编辑文件, 实际上删除了原有的文件建立了一个新的文件? Ls –ail . 查看 inode 编号不一样了
这里主要是 调试一下 这一系列流程
测试用例
就是一个程序, 读取 1.txt 两次, 两次之间间隔 5s 让用户更新文件
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<time.h>int main(int argc, char **argv) {int fd;char buf[10] = {};fd = open("./1.txt", O_RDWR);read(fd, buf, 5);printf("%s\n", buf);sleep(10);read(fd, buf, 5);printf("%s\n", buf);close(fd);return 0;}
echo "1111111111" > 1.txt 的时候
Test14ReadFileTwice 第一次 读取的时候
echo "2222222222" > 1.txt 的时候
Test14ReadFileTwice 第二次 读取的时候
可以看到 四次操作, 操作的都是同一个 page, 存在于 pagecache
因此 数据是 同步的
完
这篇关于57 读取/写出/读取 文件的过程的调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!