Що таке файл LOCK?
Файл LOCK – це перейменований файл, який використовується програмами та операційними системами для позначення файлу або пристрою як заблокованого. Це повідомляє іншим програмам не використовувати файл, якщо він не вільний від програми, яка його використовує. У більшості випадків ці файли блокування порожні, але в інших випадках вони можуть містити інформацію, пов’язану з блокуванням, наприклад властивості та налаштування.
Іноді файл .lock використовується Microsoft .NET Framework для створення заблокованих копій файлу бази даних. У такому випадку копія файлу бази даних відкриється з розширенням .lock. Це не дозволяє користувачеві вносити зміни у файл, поки він використовується іншим користувачем.
Формат файлу LOCK - більше інформації
Файл LOCK створюється кожною програмою, і його формат файлу є специфічним для програми. Ці файли блокування можна зберегти як у текстовому, так і у двійковому форматі.
Наявність файлів блокування запобігає одночасному доступу ресурсу до кількох файлів, які намагаються отримати доступ до цього ресурсу. Копія оригінального файлу створюється з суфіксом розширення .lock до його імені. Це повідомляє іншим програмам доступ лише для читання до файлу. Наприклад, resource.dat стане resource.data.lock.
Для мови програмування Ruby ви можете натрапити на файл gemfile.lock. Саме тут Bundler веде облік точних версій, які були встановлені. Таким чином, коли проект/бібліотека переміщується на іншу машину, запущений пакет шукатиме у файлі Gemfile відповідну версію.
Блокування файлу в Linux
Linux підтримує два типи блокування файлів: рекомендаційне блокування та обов’язкове блокування.
Рекомендаційні блокування: тип блокування, який не застосовується. У цьому випадку процеси, що беруть участь, співпрацюють один з одним, явно отримуючи блокування. Якщо це неможливо, консультативні блокування ігноруються.
Обов’язкове блокування: у разі обов’язкового блокування операційна система примусово блокує файл, не дозволяючи іншим процесам читати або записувати файл. Для цього не потрібна взаємодія між процесами.
обов’язкове блокування не вимагає жодної співпраці між процесами-учасниками. Після активації обов’язкового блокування файлу операційна система не дозволяє іншим процесам читати або записувати файл.