【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト898:nobodyさん 06/01/29 18:07:38 >>892 open(F1,"+<$file1")||die(); flock(F1,LOCK_EX); open(F2,"+<$file2")||die(); flock(F2,LOCK_EX); ... truncate(F2, tell(F2)); close(F2); truncate(F1, tell(F1)); close(F1); ($file1,2は既に存在するとして)こんな感じかな。 同じ内容なら、一つのファイルにすることを考えた方がいいかも。 リンク張るとか。 > 「ゴミ」というところに似た書き方をしているのではと、かなり不安になりました。 同じファイルに対して排他的なロックすることで起こるデッドロックだね。 関係があるとしたら、File2とFile1を逆順に排他的にロックするプログラムが有るとき。 そのときはデッドロックを引き起こす可能性がある。 899:nobodyさん 06/01/29 19:15:17 >>897 lock は結局読み込みから書き込みまでの間に何をするかなんだよな。 (読み込みが含まれるのは読み込んで書き込むまでの間に他の プロセスが書き込みを行ってしまっていた場合に、新たに書き込む データが既存のデータを壊してしまうから。) だから本当は書き込みのところだけ晒されても正しいのかどうかは 判断できない。 ロックで具体的にこうしろというコードが表に出てこないのは そういう理由もある。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch