Я пишу некоторый код для записи электронного письма в файл, позволяю вам редактировать его в своем собственном редакторе, и когда вы закончите, вы можете сказать моему коду продолжить.Я хотел бы, чтобы он улавливал распространенную ошибку, когда у вас все еще открыт файл, и, следовательно, возможно, он его не сохранил.
Моя первая попытка состояла в том, чтобы попытаться получить эксклюзивную блокировку файла (используя File.flock ), но она так и не перехватила его.Немного гуглинг говорит о том, что это сложная проблема .
Лучше всего будет искать общие файлы блокировки, например, vi foo
даст .foo.swp
, а joe foo
сделает .#foo
.
Итак, вопрос в том, есть ли лучший способ определить, редактируется ли файл?А если нет, то есть ли список всех общепринятых соглашений о присвоении имен файлам блокировки?