LOCKファイルとは何ですか?
LOCK ファイルは名前が変更されたファイルで、アプリケーションやオペレーティング システムがファイルまたはデバイスをロック済みとしてマークするために使用されます。これにより、他のアプリケーションは、ファイルを使用しているアプリケーションからファイルが解放されない限り、そのファイルを使用しないように指示されます。ほとんどの場合、これらのロック ファイルは空ですが、プロパティや設定などのロックに関連する情報が含まれている場合もあります。
.lock ファイルは、データベース ファイルの lockeed コピーを作成するために、Microsoft の .NET Framework によって使用されることがあります。このような場合、データベース ファイルのコピーが .lock 拡張子で開きます。これにより、別のユーザーがファイルを使用している間、ユーザーはファイルに変更を加えることができなくなります。
LOCK ファイル形式 - 詳細情報
LOCK ファイルは各アプリケーションによって作成され、そのファイル形式はアプリケーションに固有です。これらのロック ファイルは、テキスト ファイル形式とバイナリ ファイル形式の両方で保存できます。
ロック ファイルの存在により、そのリソースにアクセスしようとする複数のファイルへのリソースの同時アクセスが防止されます。元のファイルのコピーが作成され、名前の末尾に .lock 拡張子が付きます。これにより、他のアプリケーションがファイルへの読み取り専用アクセスを持つようになります。たとえば、resource.dat は resource.data.lock になります。
Ruby プログラミング言語の場合、gemfile.lock ファイルに出くわすことがあります。これは、Bundler がインストールされた正確なバージョンの記録を保持する場所です。したがって、プロジェクト/ライブラリが別のマシンに移動されると、バンドルを実行すると、正確に関連するバージョンの Gemfile が調べられます。
Linux でファイルをロックする
Linux は、アドバイザリ ロックと強制ロックの 2 種類のファイル ロックをサポートしています。
Advisory Locks: 強制されないロックのタイプ。この場合、参加しているプロセスは相互に協力して明示的にロックを取得します。これが不可能な場合、アドバイザリ ロックは無視されます。
強制ロック: 強制ロックの場合、オペレーティング システムは、他のプロセスがファイルを読み書きできないようにすることで、ファイル ロックを強制します。これには、プロセス間の連携は必要ありません。
強制ロックでは、参加プロセス間の協力は必要ありません。ファイルに対して強制ロックが有効になると、オペレーティング システムは、他のプロセスがファイルを読み書きできないようにします。