【问题标题】:When does write system call return?write 系统调用什么时候返回?
【发布时间】:2012-01-24 22:47:31
【问题描述】:

如果我在阻塞模式下写入文件/设备,write() 调用是否会在将所有字节(假设没有信号中断)写入Buffered Cache(Kernel Buffer) 时返回,或者它会在将所有字节写入文件/设备时返回? (这是我之前的question 的扩展)。

【问题讨论】:

    标签: c


    【解决方案1】:

    如果成功,write 在将数据写入内核内存后返回。 write 系统调用不保证写入磁盘,为此您需要 fsync。实际上,fsync 并不能保证这些位实际上已写入盘片本身:只是 IO 操作已完成。

    (当然,您可以使用各种特定于平台的模式和设置来更改此行为。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-10
      • 2015-06-11
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多