#node.js #fs #file-locking
Вопрос:
Я хочу прочитать данные внутри файла, заблокированного другим процессом. Есть ли какой-либо собственный способ или пакет, который мог бы это сделать?
Попытка базового fs.readFileSync
вызова приведет к EBUSY
ошибке.
Комментарии:
1. Блокировка файлов происходит не просто так. Измените другой процесс, чтобы файл не был заблокирован для других читателей, и убедитесь, что это действительно безопасно. Сделайте копию файла до того, как он будет заблокирован. Кроме того, на какой операционной системе вы работаете?
2. Мне нужно создать автоматические резервные копии файлов, которые в настоящее время используются. Кроме того, у меня нет доступа к источнику процесса, который блокирует файл.
3. Файлы часто блокируются от других читателей, потому что файлы могут находиться в несогласованном состоянии, например, частично записаны или обновляются (в данный момент не подходят для резервного копирования). Что делают большинство систем резервного копирования, так это повторяют попытки время от времени, пока файл больше не будет заблокирован.