gpt4 book ai didi

linux - 在 Windows 挂载上通过 linux 查看时损坏的 xml 文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:56 26 4
gpt4 key购买 nike

我有一个安装到 Windows 共享/mnt/somedire/的 Linux 机器,该共享指向 Windows 服务器。我有另一个 Windows 应用程序,它将 xml 文件写入 Windows 共享。然后,Linux 机器上的 ESB 应用程序使用挂载上的 xml 文件。

当生成 xml 文件并通过 Windows(记事本或 notepadd++)查看时,它们就很好。当通过 linux 通过 cat、vi 等命令查看时,xml 的最后 5 或 6 行丢失,但它们是同一个文件。

有人以前见过这个吗?你能告诉我如何解决它吗?

最佳答案

当您写入文件时,操作系统不会立即写入磁盘 - 它会写入多级缓存:文件系统缓存、 block 缓存、设备缓存等。

缓存会定期“刷新” - 写入底层设备。例如,umount 就是这么做的。

因此,当您的 Windows 应用程序将一些 XML 写入文件时,它会写入 NTFS 缓存。在 Windows 上读取此文件将通过相同的缓存完成,这就是它在 Windows 上保持一致的原因。但你的 Linux 机器对缓存一无所知 - 它有自己的缓存。

要避免此问题,您应该在 Windows 上使用直接 I/O 进行编写。

关于linux - 在 Windows 挂载上通过 linux 查看时损坏的 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21605624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com