我使用以下函数将一些数据写入文件:
def WriteTo1File(self, output_file, text):
output_file.write(text)
output_file.flush()
os.fsync(output_file.fileno())
该fsync()
调用是处理 IOError 所必需的:如果在网络驱动器无法访问时我不使用它,则该函数write()
在其本地缓冲区上工作并且不会引发异常。
问题是在几次写操作后,函数fsync()
挂起。它与什么有关?本地机器是运行 python 2.7 的 Linux。驱动器使用 mount.cifs 安装。远程磁盘位于始终可访问的本地服务器上。如果我卸载远程磁盘,fsync()
几十秒后返回。