dポイントプレゼントキャンペーン実施中!

データファイルとかは同時書き込みされると破損するみたいですね。
それを防ぐにはとうすりゃいんだ?と思い書籍(十日でおぼえるPerl講座)をみるとFlock関数を使えばいいとありました。
しかし自分が使っているスクリプトのロック関数は
MkdirとSymlinkだけです。

これはどうすればいいんでしょうか?

A 回答 (1件)

flockは最終的にはOSのシステムコールが呼ばれます。


Windowsではそのようなシステムコール(API)はありませんし、
サポートしているOSでも状況によってはこのシステムコールが使えない場合がありえます。

その場合に、symlinkだとかmkdirを使って
手作業でファイルロックに該当することをします。

きちんと書いていれば、flockが使えず、symlinkなりmkdirを代替として
使っても役目は果たせます。

ファイルロックについて/排他処理/CGI/Perl
http://tech.bayashi.net/pdmemo/filelock.html
同時書き込みの防止
http://www.aikis.or.jp/~s-suzuki/cgilabo/tinyboa …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!