トップページ⇒php
981コメント337KB

【Perl】ファイルロック(排他処理)について語ろう

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん02/06/23 10:18ID:eY2l+Gw1
どんな環境でも使えて、軽くて、頑丈なロックを考えようじゃありません
0951nobodyさん2007/04/30(月) 14:26:51ID:???
ファイルロック関数に頼ったロックに頼るべきではない。
独自に考えるべき
0952nobodyさん2007/04/30(月) 17:20:06ID:???
ここはスレタイにあるとおり、「perl」でという制約の元の排他制御に
関する議論をするスレッドなんだよ。
しかもwebprog板なので、サーバーサイド限定だ。
すなわちWin限定の解は採点が低い。
0953nobodyさん2007/04/30(月) 18:09:45ID:???
次スレは言語選ばないべき。過疎ってるから
0954nobodyさん2007/04/30(月) 18:34:21ID:???
PHPも仲間に入れてやってください
0955nobodyさん2007/04/30(月) 22:19:01ID:???
PHPか。
0956nobodyさん2007/05/01(火) 08:41:54ID:???
Perlで1個作って、それを移植するだけだろw
0957nobodyさん2007/05/01(火) 11:06:12ID:???
>>956
ほとんど同じでOKなの?
0958nobodyさん2007/05/03(木) 07:37:55ID:???
5年前のスレかよw
0959nobodyさん2007/11/12(月) 23:00:45ID:???
半年前のレスかよ
0960nobodyさん2007/11/25(日) 15:43:12ID:YhRNGWJK
ageてみるか
0961nobodyさん2008/03/14(金) 20:29:09ID:???
このスレが無限ロックされてるんじゃね?w
0962nobodyさん2008/08/08(金) 02:57:43ID:???
flockにロックIDとかつけてくんないかなー
部分ロックしたいときに困る
0963nobodyさん2008/08/08(金) 02:59:41ID:V81X7ey0
ていうかファイルに対するlockじゃなくて、完全にIDのみで管理するロック機構があれば応用がきくのに
そういうのって何で作られないの?何かわけがあるの?
0964nobodyさん2008/08/08(金) 10:06:25ID:???
ファイルに対してlockしないでなににlockするんだい?

管理はファイルごとに行うんじゃなくてファイルハンドルごとに行うんじゃないかい?
ま、ルールに則って処理しなければlockはいくらでも無視できるけど
0965nobodyさん2008/08/08(金) 19:52:28ID:???
何言ってんのさ。
mkdirとかを用いた方法だって、あくまで"処理のロック"だろ。
その処理ってのがファイルアクセスだったときにファイルロックになるだけでさ。

わざわざロック専用のファイル作ってそれにflockかける場合のこと考えると、「対象としてのファイルがなければロックできない」ってのはどうにも無駄な制限だと思うんだけど。


って書いたけどIDだけでの管理は共用鯖とかだと現実的じゃないな。
0966nobodyさん2008/08/08(金) 20:28:34ID:???
System V IPCのセマフォ使えばいいんじゃない?
perlなら組み込み関数あるし、CPANにもライブラリあるよ。
0967nobodyさん2009/09/07(月) 18:18:57ID:0FwHnD5n
質問です。
apacheのアクセスログの様にとにかく最後尾に追記するだけの場合、排他処理は必要ですか?

use Fcntl;
sysopen(OUT, $FileName, O_WRONLY|O_CREAT|O_APPEND);
print OUT "aaa\n";
close(OUT);

これだけで済めばいいな〜というのは甘い考えでしょうか?
0968nobodyさん2009/09/09(水) 17:11:40ID:???
追記は確か混じった。
0969nobodyさん2009/09/09(水) 17:27:59ID:jdeXznBz
>>968
レスありがとうございます。
後で編集するので書き込まれる順序は特に気にしませんが
一応flock程度はやっておこうかなと思ってます。
0970nobodyさん2009/09/13(日) 16:22:21ID:YylJyw/3
それは print を使うからでは。
一回のシステムコールで書き込まれるようにすれば?
syswrite を使うか、バッファを無効にする。
0971nobodyさん2009/10/08(木) 14:28:23ID:???
書き込みすんだったら、
ロックは必須でしょう?
0972nobodyさん2009/10/12(月) 23:17:19ID:???
このスレでも何度かいわれたし、
http://www.bioinfo.jp/tips.html#append に詳しく書いてある。
確認してみれ。
0973nobodyさん2009/10/19(月) 19:57:43ID:???
システムに依存するけど、どの操作もアトミックにできれば、ロックはいらねぇって話だわな。
0974nobodyさん2010/12/07(火) 00:32:09ID:???
 
0975nobodyさん2010/12/07(火) 00:36:21ID:???
 
0976nobodyさん2010/12/07(火) 00:42:44ID:???
 
0977nobodyさん2010/12/07(火) 00:48:12ID:???
 
0978nobodyさん2010/12/07(火) 00:52:46ID:???
 
0979nobodyさん2010/12/07(火) 01:02:14ID:???
 
0980nobodyさん2010/12/07(火) 01:08:46ID:???
 
0981nobodyさん2010/12/07(火) 01:14:46ID:???
 
レス数が950を超えています。1000を超えると書き込みができなくなります。