3

我使用以下函数将一些数据写入文件:

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()几十秒后返回。

4

1 回答 1

1

您可以尝试设置nostrictsync挂载选项。

在https://www.kernel.org/doc/readme/Documentation-filesystems-cifs-README中有一些关于此的信息。

于 2014-12-16T13:13:35.997 回答