在删除文件之前是否需要fsync?

时间:2013-06-29 06:55:38

标签: c linux io buffer synchronized

问题与在linux中实现文件副本有关: 1.创建一个新文件 2.将数据复制到此文件 3.如果用户想要在复制完成之前停止,则应删除此新文件

在关闭此文件之前是否需要调用fsync然后取消链接? 因为关闭文件不会执行fsync,所以取消链接不会删除文件,直到此文件的所有脏数据都写回到光盘? 我想确保在unlink()命令返回时该文件确实未链接。

1 个答案:

答案 0 :(得分:0)

如果用户在复制前停止它,只需调用fsync()和unlink()。它会将数据同步到磁盘并删除您的文件