Article View: fj.lang.perl
Article #243Re: ファイルの行数とロック
From: Seiichirou Hiraoka
Date: Sun, 22 Feb 1998 00:00
Date: Sun, 22 Feb 1998 00:00
51 lines
2118 bytes
2118 bytes
<34EEBB2E.6DCFDFFC@tko.dec.com>の記事において
watanabe.maki@tko.dec.comさんは書きました。
平岡です。
御回答を下さった皆様、どうも丁寧にありがとうございます。
以下のような手法を採用させて頂きました。
1. ファイルの行数を調べる
a) ファイルが1つの場合
while(<IN>){
}
$count = $.;
b) ファイルが複数個の場合
$count = `wc -l file`;
2. ファイルにロックをかける
open(IN,"filename");
flock(IN,$LOCK_EX);
.....
flock(IN,$LOCK_UN);
close(IN);
最後にちょっとお聞きしたいのですが。
サンプルのプログラムとして、提示して頂いた以下のプログラムですが。
>open(H,"< lockfile") or die;
>flock(H,$LOCK_EX) or die "Could not get the lock.";
>
># いろいろな処理
>
>flock(H,$LOCK_UN) or die "Could not release the lock";
>close(H);
flockの行のor die "..."ですが、ロック出来なかったら終了と言う事ですよね。
flockの説明を読んだ所、排他ロックの場合flockは「lock出来るまで待つ」
と理解したのですが、、、ロック出来ない事なんてあるのでしょうか?
あ、この認識自体が間違っていたら話になりませんが。^_^;
教えて頂ければ幸いです。
平岡 征一朗 愛媛大学工学部電気電子工学科
☆★☆FreeBSD初心者ユーザのページ開設中☆★☆
★☆★FreeBSD都道府県別利用者調査を開始★☆★
flathill@flathill.gr.jp / http://www.flathill.gr.jp/~flathill/
Technical Details
Message-ID:
<6copgc$s66$1@stcn-www.stnet.ad.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<6cic57$egr$1@stcn-www.stnet.ad.jp> <34ED0773.45055E4A@tko.dec.com> <6cjci9$sn$1@stcn-www.stnet.ad.jp> <34EEBB2E.6DCFDFFC@tko.dec.com>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 1043e7,31be2b21ec0df5a2 X-Google-Attributes: gid1043e7,public From: flathill@flathill.gr.jp (Seiichirou Hiraoka) Subject: Re: ファイルの行数とロック Date: 1998/02/22 Message-ID: <6copgc$s66$1@stcn-www.stnet.ad.jp> X-Deja-AN: 327472167 References: <6cic57$egr$1@stcn-www.stnet.ad.jp> <34ED0773.45055E4A@tko.dec.com> <6cjci9$sn$1@stcn-www.stnet.ad.jp> <34EEBB2E.6DCFDFFC@tko.dec.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Organization: Shikoku Information & Telecommunication Network Co., Inc. Newsgroups: fj.lang.perl