在UNIX环境高级环境编程中,大家应该都看到过:

sync函数

sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。
     通常称为update的系统守护进程会周期性地(一般每隔30秒)调用sync函数。这就保证了定期冲洗内核的块缓冲区。命令sync(1)也调用sync函数

上面这段话在Linux当中是不成立的。可以参考如下这段话:

Since glibc 2.2.2, the Linux prototype for sync() is as listedabove, following the various standards.  In glibc 2.2.1 andearlier, it was "int sync(void)", and sync() always returned 0.According to the standard specification (e.g., POSIX.1-2001),sync() schedules the writes, but may return before the actualwriting is done.  However Linux waits for I/O completions, andthus sync() or syncfs() provide the same guarantees as fsync()called on every file in the system or filesystem respectively.In mainline kernel versions prior to 5.8, syncfs() will fail onlywhen passed a bad file descriptor (EBADF).  Since Linux 5.8,syncfs() will also report an error if one or more inodes failedto be written back since the last syncfs() call.

sync(2) - Linux manual page

https://man7.org/linux/man-pages/man2/sync.2.html

所以想使用这个函数刷写缓冲区的内容到磁盘的可以放心使用,sync调用返回后,代表已经完成了写磁盘操作。

关于sync()函数的使用相关推荐

  1. linux c sync函数,怎么在Linux中调用fsync函数

    Linux中如何调用fsync函数?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想解决这个问题的伙伴找到更简单易行的方法. 功能描述: 将内存中所有已修改的文件数据同步到存储设备. ...

  2. linux文件操作函数程序,linux 文件操作函数

    文件操作(Linux) 常用linux函数库中的基本函数 1. close函数,关闭文件 2. creat函数,建立文件 3. dup.dup2函数,复制文件描述词 4. fcntl函数,文件描述词操 ...

  3. linux同步IO: sync、fsync与fdatasync

    转载地址:https://blog.csdn.net/cywosp/article/details/8767327 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓 ...

  4. linux 同步IO: sync msync、fsync、fdatasync与 fflush

    最近阅读leveldb源码,作为一个保证可靠性的kv数据库其数据与磁盘的交互可谓是极其关键,其中涉及到了不少内存和磁盘同步的操作和策略.为了加深理解,从网上整理了linux池畔同步IO相关的函数,这里 ...

  5. C++中的文件输入/输出(6):一些有用的函数

    tellg() --返回一个 int型数值,它表示"内置指针"的当前位置.此函数仅当你在读取一个文件时有效.例如: #include <fstream.h>       ...

  6. 【Linux】文件IO --- sync、fsync、fdatesync

    在使用write函数向文件中写入数据的时候,并不是在调用了函数以后就直接把数据写入磁盘:操作系统在内核中设置了一块专门的缓冲区,数据会先被写入到内核的缓冲区中,等到缓冲区满了或者系统需要重新利用缓冲区 ...

  7. CanOpen协议栈学习笔记1-帧格式,SYNC和NMT报文介绍

    前面已经记录过can协议,后面开始CanOpen协议栈学习.其实协议栈代码已经看过了,而且已经在开发板上跑过了.这里回过头来,重新看下之前遇到的坑,记录下学习笔记.下面均以标准帧为例 文章目录 1.C ...

  8. linux c语言内核函数手册,Linux C函数实例速查手册

    函数学习目录: 第1章 初级I/O函数 1.1 close函数:关闭已经打开的文件 1.2 creat函数:创建一个文件 1.3 dup函数:复制文件描述符 1.4 dup2函数:复制文件描述符到指定 ...

  9. 【Auto.JS】Autojs官方提取文档使用说明函数 (2)

    接上一篇文章:Autojs官方提取文档使用说明函数 (1) Images Stability: 2 - Stable images模块提供了一些手机设备中常见的图片处理函数,包括截图.读写图片.图片剪 ...

最新文章

  1. php 输出函数结果,PHP向浏览器输出内容的4个函数总结
  2. python提高办公效率-几个可以提高工作效率的Python内置小工具
  3. web02--jsp数据传递
  4. 控制器如何跳转web-inf下的项目_第一次开发项目感想
  5. python爬虫知识大全_Python爬虫入门有哪些基础知识点
  6. 关于TCP三次握手过程
  7. hadoop-mapreduce在maptask执行分析
  8. 计算机excel图表y轴怎么改,excel图表横坐标轴修改?excel图表里,请问怎么设定X,Y轴...
  9. 科密考勤机对比和参考价
  10. 华为重启交换机命令_华为交换机常用命令
  11. 阿里云OCR图片文字识别使用教程
  12. 分析开源三大CMS中WordPress相比Drupal与Joomla是怎样摘取皇冠的
  13. Captura录屏没有声音解决方法
  14. 多元数量值函数积分学
  15. 怎样查看苹果服务器验证关闭,iPhone小技巧:如何查询 iOS 系统是否已经关闭验证?...
  16. po,bo,vo,pojo,dto的区别
  17. 银河麒麟V10安装与运行人大金仓数据库
  18. 微信扫码---进入小程序指定页面(传参)
  19. matlab scope 多个图,matlab scope论文画图
  20. Mac的日历事件如何同步更新到iphone手机中?

热门文章

  1. 基于springboot + vue 的个人博客搭建过程(上线)
  2. android notification的使用方法,详解Android中Notification的使用方法
  3. access denied by server while mounting
  4. linux tail 命令_Linux tail命令示例
  5. python绘制红色五角星、边长100像素_使用turtle库绘制一个五角星
  6. m3u php源码,M3U生成器 - 源码下载|多媒体|Audio|源代码 - 源码中国
  7. 苹果所有设备参数大全
  8. yolo v5.50 坑
  9. Sweet Bites趣味甜美手写字体 for mac
  10. 【Python】抓取淘宝列表页信息