如何确定数据已经从内核缓冲区写入磁盘了?
采用缓冲技术时,内核会把要写入磁盘的数据放入缓冲区,然后在认为合适的时间写入磁盘,那么,如何确定数据已经从内核缓冲区写入磁盘了?
谢谢.....
------解决方案--------------------你判断它要作什么?
加入是想没有写入的话,手工写入的话,可以用sync函数或者命令
------解决方案--------------------在写完数据后,可以用sync或fsync来同步缓冲区中的数据到磁盘中
------解决方案--------------------sync();
fsync( fd );
------解决方案--------------------sync只是将所有修改过的块缓冲区排入写队列,然后返回,它并不等待实际写磁盘操作结束。
fsync则等待写磁盘操作结束,然后返回。