Loose-Info.com

Last Update 2019/12/25


TOP - Perl - 関数 - flock

ファイルをロックする機能をエミュレートします。Windowsでも動作します。

戻り値1 = flock ファイルハンドル , 値1

戻り値1
ロックが成功すると真、失敗すると偽を返す
ファイルハンドル
ロックの対象となるファイルハンドル
値1
ロックの種類
1 : 共有ロック
2 : 排他的ロック
上記の2つはロック中のファイルにアクセスした場合は解除待ちとなる
これ以外にもすぐに結果を返すロックがある

(例)
# 読み書き両用モードでファイルをオープン # 上書きモードの場合はこの時点でファイルサイズが0となる open TEST_OUT, "+<test.txt"; flock TEST_OUT, 2; # 上書き書き込みのためファイルロック後ファイルサイズを0とする truncate(TEST_OUT, 0); print "[ENTER]キーを押すと処理を中止します >"; $a = <STDIN>; print TEST_OUT $a; close TEST_OUT; # この時点でflockが解除される