为什么 Windows 在编辑打开的文件时会锁定,而 Linux 却不会?

为什么 Windows 在编辑打开的文件时会锁定,而 Linux 却不会?

如果我在 Linux 中编写LaTeX文件,我可以重新编译,更改只会“显示”在打开的 PDF 上。如果我使用 bash 脚本编辑 .txt 文件,我可以选择重新加载它。

在 Windows 中并非如此,它似乎更喜欢阻止我的操作,直到文件关闭。

为什么两者如此不同?这是文件系统故障吗(我还没有在 Linux 上的 NTFS 或 FAT32 上尝试过,只在 ext FS 之一上尝试过)?还是有其他原因?

答案1

您在 Linux 中使用什么 PDF 查看器?在 Windows 中使用什么?

呃,我不知道。Ubuntu 的标准版吗?

这就是答案。这是实现定义的行为。在 Windows 中,设计一个查看器是完全可行的,它不会锁定文件以防止其他进程写入1并监视原始文件是否可能发生更改2并在发生此类更改时提示您。

然而,你可能会读到这个帖子了解在 *nix 类系统中文件通常是如何管理的。


1程序员可以指定dwShareMode=FILE_SHARE_WRITE当调用创建文件()

2 查找第一个更改通知()在 Windows 上,在 Linux 上,inotify

相关内容