【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト257:228 02/08/10 00:33 おかげであれからログが消えてません open(LOG,"+<$log") || &error('ファイルエラー'); flock(LOG, 2) or &error('ロックエラー'); my @lines = <LOG> or &error('読み込みエラー'); ~~~更新処理~~~ seek(LOG, 0, 0); print LOG @lines; truncate(LOG, tell(LOG)); close (LOG); こんな感じです やっぱり同時刻に書き込みが集中した時に消えるようなので KENT式mkdirロックを少し改造したものをあわせて使ってます そのまま使うとエラーでロックを外した瞬間に書き込みが重なってしまうようなので・・・ ありがとうございました 258:230 02/08/10 06:54 >>257 >そのまま使うとエラーでロックを外した瞬間に書き込みが重なってしまう ロックを外したら、もはやそのプロセスは書き込まないはず。 まさか&errorでexitせずに、実行続けてるとか? mkdir式が有効なのは、flockがダメだったからかもしれないが、 処理が遅くなるのとタイムアウトがある事で、読み書きが集中 しないようになった効果かもしれない。 質問者は問題が解決しさえすればいいんだが、 flockとmkdir式の併用なんて気持ちわるい結末だなぁ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch