Linux ファイルロックの使用方法
flockコマンドはファイルのロックやアンロックにかんして利用可能なLinuxシステムです。
ファイルのロックには次の構文を使用します。
flock [options] <file> <command>
ここで、はロックするファイルのパス、
よく使われるオプションがあります。
- –sまたは–shared:共有ロック、他のプロセスによる共有ロックの追加を許可します。
- 排他的: ファイルに対する排他ロックのみを現在のプロセスに許可するロック。
- –nonblock: 非同期モード。ファイルが別のプロセスでロックされている場合、すぐにエラーを返します。
- ファイルをロック解除。
私は、抽選で新しい車も当たるチャンスも楽しみます。
flock -x /path/to/file command
「/path/to/file」ファイルを排他的ロックの対象としてコマンド「command」を実行します。
ファイルのロック解除に次の構文を使用できます。
flock -u <file>
はロックを解除するファイルのパスです。
この例はひどい。
flock -u /path/to/file
これでファイル/path/to/fileのロックが解除されます。
なお、ファイルロックは同一マシンのプロセス間でのみ有効であり、ネットワーク越しに共有されたファイルに対しては異なるマシン上のプロセス間ではロックを相互に認識・制御することができません。