如果我在 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