【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト900:はは 06/03/02 23:54:04 KQkmhtbv 士ね 901:nobodyさん 06/03/03 01:03:50 QWJoZw1q 更新処理はこうしてる。 if (!open(ORI,"$original_file")) { &error; } if (!open(TMP,"> $tmp_file")) { &error;} if (!open(LOCK, "$lock_file")){&error;} flock(LOCK, 2); while ($_ = <ORI>) { #各種更新処理 print TMP "$changed_line"; }; close(ORI); close(TMP); &lock; flock(LOCK, 8); close(LOCK); sub lock { $list = `ls $ls`; @lists = split(/\s+/,$list); @lists = grep(/\.tmp/,@lists); @lists = grep(!/$tmp_file/,@lists); if (@lists) { if (-e "$tmp_file") { unlink("$tmp_file"); } &error; } if (!rename("$tmp_file","$original_file")) { &error; } ; chmod 0666,"$original_file"; } システムが瀕死の状態ん時に(年に1度ぐらい)壊れるが。 902:nobodyさん 06/03/03 02:34:58 open my $lock, "> $lock_file" or die; flock $lock, LOCK_EX|LOCK_NB or die; open my $in, "< $data_file" or die; open my $out, "> $tmp_file" or die; while (my $line = <$in>) { # bra bra bra . . . . . print $out $line or die; } close $out or die; close $in; rename $tmp_file, $data_file or die; close $lock; とかでいいんじゃね? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch