Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       flock - ファイルロックを取得し、そのロックを保持するコマンドを実行する

書式

       flock [ --shared | --timeout=seconds ] lockfile command ..

説明

       flock(2) システムコールを使ってファイルロックを取得し、 そのロックを保持する指定されたコマ
       ンドを実行する。 指定するオプションにより、排他ロックにも共有ロックにもできる。 また、ロッ
       ク競合が発生した際の動作は、  ロックが使用可能になるまで無限に待ち続ける (デフォルト) よう
       に指定することも、 指定された時間の後にロックが使用可能にならなければ 失敗するように指定す
       ることもできる。 時間を 0 に指定すると、コマンドは (訳註: ロックの取得を) 全く待たない。

       --shared
              共有ロックを取得する。 共有ロックの取得は、他者による共有ロックの取得を停止させない
              が、 他者による排他ロックの取得を停止させる。  逆に、排他ロックの取得  (デフォルト)
              は、 他者による排他ロックの取得も共有ロックの取得も停止させる。 一般的には、 ロック
              されたデータをコマンドが単に読み込む場合には共有ロックが使用され、 ロックされたデー
              タにコマンドが書き込みを行う場合には排他ロックが使用される。

       --timeout=n
              n  秒以内にロックが取得できない場合は、中止 (abort) する。 全くブロックせずにロック
              を取得したい場合は、 --timeout=0 と指定すること。  タイマーはロックの取得にのみ適用
              される。  ロックが取得されると、タイムアウトは直ちにキャンセルされる。 実行されるコ
              マンドはタイムアウトの対象ではない。

(いくつかの仮想的なプログラムの呼び出し)

       flock /etc/passwd read-and-write-to-passwd

       flock --shared /etc/passwd just-read-something-from-passwd

       flock --timeout=0 /sys /usr/local/bin/update-hotplug /sys

著者

       Written by Adam J. Richter