【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト37:nobodyさん 02/06/24 22:01 ファイルロックなんて必要なほどアクセスないからどでもいいけど、 タイムアウト処理ってどうやってる? どの環境でも有効なタイムアウト処理となると思いつかんけどみんなは書いてる? 38:nobodyさん 02/06/24 22:13 v5EexGcz KENTでいいや。 flock()は途中で死ぬとタイムアウトしないみたい(永遠にロック?)なんだけど、どうするべ? 39:nobodyさん 02/06/24 22:21 へ?flockはOSが後始末してくれると思ったけど 40:nobodyさん 02/06/24 22:22 >>38 俺もなんか以前(×人名)そんなことあったなー。 なんでだろ? 41:nobodyさん 02/06/24 22:25 まあもしflockが解放しないとしたら、シグナルハンドラでも 設定しておくしかないんじゃないの 42:38 02/06/24 22:29 わたしが見たソース(古い) http://homepage1.nifty.com/glass/tom_neko/web/web_04.html こんなことしてます。 eval { local $SIG{ALRM} = sub { die "time out" }; # 時間が来たら抜け出す open(OUT, "+< $datafile") or die; alarm(5); # 先行プロセスを待つ時間(5秒) flock(OUT, 2) or die; # ロック確認。ロック alarm(60); # 自分自身の制限時間(1分) 一連の処理 close(OUT); # closeすれば自動でロック解除 alarm(0); # 無事済んだのでリセット }; if ($@ =~ /time out/) { タイムアウト時の処理 } elsif ($@) { die } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch