如果我在阻塞模式下写入文件/设备,write()
调用会在写入Buffered Cache(Kernel Buffer)
的所有字节(假设没有信号中断)时返回,或者在写入所有字节时返回文件/设备? (这是我之前的question的扩展)。
答案 0 :(得分:1)
如果成功,则在将数据写入内核内存后返回write
。 write
系统调用不保证写入磁盘,您需要fsync
。实际上,fsync
并不保证这些位实际写入了盘片本身:只是IO操作已经完成。
(当然,您可以使用各种特定于平台的模式和设置来改变此行为。)