2

Если я пишу файл LaTeX в Linux, я могу перекомпилировать, и изменения просто «появляются» в открытом PDF. Если я использую скрипт bash для редактирования файла .txt, я получаю опцию перезагрузить его.

Не так в Windows, которая, кажется, предпочитает блокировать мои действия, пока файл не будет закрыт.

Почему они такие разные? Это сбой файловой системы (я не пробовал это в Linux на NTFS или FAT32, только на одной из ext FS)? Или это что-то другое?

1 ответ1

6

Какой просмотрщик PDF вы используете в Linux? А что в винде?

Я не знаю Стандартный для Ubuntu?

Это ответ. Это поведение, определяемое реализацией. В Windows вполне возможно спроектировать программу просмотра, которая не будет блокировать файл от записи другими процессами 1, отслеживать исходный файл на предмет возможных изменений 2 и запрашивать у вас такие изменения.

Однако вы можете прочитать этот пост, чтобы получить представление о том, как обычно управляются файлы в * nix-подобных системах.


1 Программист может указать dwShareMode = FILE_SHARE_WRITE при вызове CreateFile().

2 FindFirstChangeNotification() в Windows, inotify в Linux

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .