.LOCK вариант №
Файл LOCK — это переименованный файл, который используется приложениями и операционными системами для пометки файла или некоторого устройства как заблокированного. Это говорит другим приложениям не использовать файл, если он не свободен от приложения, которое его использует. В большинстве случаев эти файлы блокировки пусты, но в других случаях они могут содержать информацию, связанную с блокировкой, такую как свойства и настройки.
Иногда файл .lock используется Microsoft .NET Framework для создания заблокированных копий файла базы данных. В таком случае копия файла базы данных откроется с расширением .lock. Это не позволяет пользователю вносить изменения в файл, пока он используется другим пользователем.
Формат файла LOCK — дополнительная информация
Файл LOCK создается каждым приложением, и его формат файла зависит от приложения. Эти файлы блокировки могут быть сохранены как в текстовом, так и в двоичном формате.
Наличие файлов блокировки предотвращает одновременный доступ к ресурсу для нескольких файлов, пытающихся получить доступ к этому ресурсу. Создается копия исходного файла с расширением .lock, добавленным к его имени. Это говорит другим приложениям иметь доступ только для чтения к файлу. Например, resource.dat станет resource.data.lock.
Для языка программирования Ruby вы можете встретить файл gemfile.lock. Здесь Bundler хранит записи о точных версиях, которые были установлены. Таким образом, когда проект/библиотека перемещается на другую машину, запущенный пакет будет искать в Gemfile точную соответствующую версию.
Заблокировать файл в Linux
Linux поддерживает два типа блокировок файлов: рекомендательные блокировки и обязательные блокировки.
Advisory Locks: тип блокировки, который не применяется принудительно. В этом случае участвующие процессы взаимодействуют друг с другом, явно получая блокировки. Если это невозможно, рекомендательные блокировки игнорируются.
Обязательные блокировки: в случае обязательной блокировки операционная система принудительно блокирует файл, не позволяя другим процессам читать или записывать файл. Это не требует никакого взаимодействия между процессами.
обязательная блокировка не требует взаимодействия между участвующими процессами. После активации обязательной блокировки файла операционная система запрещает другим процессам чтение или запись файла.