https://unix.stackexchange.com/a/12818/674
言う
ロックファイルは、1つのシステムで同時に実行されている可能性のあるプログラムの2つの(正常に動作する)
インスタンスが同時に他の何かにアクセスしないようにするためにプログラムによって使用されます。プログラムがリソースにアクセスする前に、
このアイデアは、
ロックファイルの存在をチェックし、ロックファイルが存在する場合は、エラーになるか、
それがなくなるのを待ちます。それが存在しない場合、リソースを「取得」したいプログラムが
ファイルを作成し、後で遭遇する可能性のある他のインスタンスが
このプロセスが完了するのを待ちます。もちろん、これは、ロックを「取得」するプログラムが実際にロックを解放し、ロックファイルを削除することを忘れないことを前提としています。これが機能するのは、すべてのUNIXライクなオペレーティングシステムのファイルシステムが
シリアル化を強制するためです。つまり、
ファイルシステムへの変更は常に1回だけです 。
データベースなどのロックのようなものです。
最後の段落はどういう意味ですか?
Linuxでは、ファイルは2つのプロセスで同時に書き込むことができ、OSは暗黙的な同期を提供しませんが、プログラマーによる明示的な同期を必要としますか?
ロックファイルは、複数のプロセスによる同じファイルへのアクセスを同期する明示的な方法ですか?
ありがとう。