文件打开方式O_DSYNC、O_RSYNC、O_SYNC

O_DSYNC:

每次write都等待物理I/O完成,但是如果写操作不影响读取刚写入的数据,则不等待文件属性更新

O_RSYNC:

每个以文件描述符作为参数的read操作等待,直到所有对文件同一部分的未决写操作完成

O_SYNC:

每次write都等到物理I/O完成,包括write引起的文件属性的更新

  • O_SYNC: requires that any write operations block until all data and all metadata have been written to persistent storage.
  • O_DSYNC: like O_SYNC, except that there is no requirement to wait for any metadata changes which are not necessary to read the just-written data. In practice, O_DSYNC means that the application does not need to wait until ancillary information (the file modification time, for example) has been written to disk. Using O_DSYNC instead of O_SYNC can often eliminate the need to flush the file inode on a write.
  • O_RSYNC: this flag, which only affects read operations, must be used in combination with either O_SYNC or O_DSYNC. It will cause aread() call to block until the data (and maybe metadata) being read has been flushed to disk (if necessary). This flag thus gives the kernel the option of delaying the flushing of data to disk; any number of writes can happen, but data need not be flushed until the application reads it back.
时间: 2024-11-14 08:24:16

文件打开方式O_DSYNC、O_RSYNC、O_SYNC的相关文章

转载:python文件打开方式详解——a、a+、r+、w+区别

第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,会将文件内容清零 (以w方式打开,不能读出.w+可读写) **w+与r+区别: r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建 r+与a+区别: [python] view plain copy print? <span style="background-color: rgb(255, 255, 255);">fd = open("1.txt"

android添加文件打开方式以及参数传递

上一篇文件分享,这一篇关于打开文件时,文件打开方式选择,以及选择我们自己的应用是拿到文件进行处理. 想要在文件打开方式中出现我们自己的应用,只需设置清单文件AndroidManifast.xml,在<activity>下添加一个<intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"></action> <data

【转】python文件打开方式详解——a、a+、r+、w+区别

原文地址:http://blog.csdn.net/ztf312/article/details/47259805 第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出.w+可读写) **w+与r+区别: r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建 r+与a+区别: fd = open("1.txt",'w+') fd.write('123') fd = open("

利用文件打开方式with open(&#39;文件名&#39;,方式) as 变量名做一个简单的复制(排除大文件bug)

1 #!usr/bin/env python 2 #-*- coding=utf-8 -*- 3 4 with open('b.py','r') as obj1, open('c.py','w') as obj2: 5 for line in obj1.read(): 6 obj2.write(line) 将a.py的数据一行一行的进行复制 节省的了内存 另外 这种打开方式 免除了 之后需要的f.close() 对代码量上有细微的差距...(我自己想的...) 注意:第二个open不接with

python文件打开方式详解——a、a+、r+、w+区别

出处: http://blog.csdn.net/ztf312/ 第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出.w+可读写) w+与r+区别: r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建 r+与a+区别: [python] view plain copy print? fd = open("1.txt",'w+') fd.write('123') fd = open(&

文件打开方式

FileMode Enumeration 指定操作系统打开文件的方式.(命名空间:System.IO) 语法 [SerializableAttribute] [ComVisibleAttribute(true)] public enum FileMode 成员 成员名称 说明 CreateNew 指定操作系统创建新文件. 此操作需要FileIOPermissionAccess.Write. 如果文件已存在,则将引发IOException. Create 指定操作系统应创建新文件. 如果文件已存在

文件打开方式设置

在文件类型中重新设置打开方式(以XP为例) 打开 我的电脑--工具--文件夹选项--文件类型,找到“驱动器”或“文件夹”(具体选哪个根据你所遇问题,若属于双击打不开驱动器则选择“驱动器”,打不开文件夹则选择“文件夹”).点下方的“高级”,在“编辑文件类型”对话框里的“新建”,操作里填写“open”(这个可随意填写,如果有“open”且指向的是其他陌生的.exe文件则有可能指向的是木马,则选择“编辑”),用于执行操作的应用程序里填写explorer.exe,确定

Python文件处理之文件打开方式(一)

Python中打开一个文件是同过open函数来打开的,并返回一个文件对象,以下为open函数的参数: open(name[, mode[buf]]) name:文件路径 mode:打开方式 buf:缓冲大小 open根据你提供的name.mode.buf来打开一个文件并返回文件对象,如果只填写name,mode则默认为只读方式,buf则默认为-1,以下为open的一些mode: 例: 1 print type(open(‘blog.txt’)) 2 3 #打印结果:<type 'file'>

(转)如果“打开方式”里面没有想要的打开方式,怎样创建一种文件打开方式?

你的意思是不想用默认的软件,而是用另外一种么?右键--打开方式--选择程序(弹出一个对话框,有很多程序的列表)如果列表里面没有你想要用的程序,可以点击 浏览找到你希望使用的软件的路径,用该软件打开指定文件 ,注意,比如editplus.exe,就是浏览后还是附加不上程序,可以改个名字就好了