投稿日:2004年01月04日 作成鷹の巣

No.14127 CGIのファイルロック(symlinkとflock)が正しく動作してるか調べる方法はありますか?



CGIのファイルロック(symlinkとflock)が正しく動作してるか調べる方法はありますか?

No.14127 投稿時間:2004年01月04日(Sun) 10:09 投稿者名: URL:

たぶんここの掲示板だったと思いますが、
検索するとこういう記事がみつかりました。

>CGI=Perlスクリプトだろうと仮定しての話です。
>Windows系では、symlinkは使えません。その他にも使えない関数がいくつかあります。
>また使えても、異なる動作をするものもあります。
>なのでファイルロックをする場合は、flockを使うか、別の方法を考える必要があります。
>この辺は検索すればザクザクと情報が出てきますよ。

ここは自宅サーバー関係の掲示板なので、下記のようなことは気にしないかもしれないですが、
プロパイダのサーバーにCGIをアップして、設置してくれるまで時間かかりますよね。
なのでPCにapacheをインストールしてPCで動作を確認してから、サーバーにアップしようと思って入れましたが、
ファイルロックの問題が出て、
PCはwindows系(XP)なので、symlinkが使えません。(flockは使えてこれが最適ですが)
ところがプロバイダのサーバーはflockは使えませんが、symlinkを使ってファイルロックするようにと言われました。
このような違いがあるので、PCでsymlinkを使うと、エラーが出て表示されませんので、(ロックしなかったら正しく動作)
このままサーバーにアップしても、ちゃんとロックが動いてるかわかりません。
サーバーにアップしてもファイルロックが動作してるか調べる方法はありますか?

※KENT-WEBさんのreport.cgiのスプリクトを元にファイルロックのところだけ抜きとって使ってます。
チェックページのとこは抜き取っただけでは表示されないので、使ってません。


デバッグコードを挿入すれば良いだけでしょう。

No.14128 投稿時間:2004年01月04日(Sun) 11:37 投稿者名:通行人 URL:

> ファイルロックの問題が出て、
> PCはwindows系(XP)なので、symlinkが使えません。(flockは使えてこれが最適ですが)
> ところがプロバイダのサーバーはflockは使えませんが、symlinkを使ってファイルロックするようにと言われました。
> このような違いがあるので、PCでsymlinkを使うと、エラーが出て表示されませんので、(ロックしなかったら正しく動作)
> このままサーバーにアップしても、ちゃんとロックが動いてるかわかりません。
> サーバーにアップしてもファイルロックが動作してるか調べる方法はありますか?

ロックを開始してから解除するまでの間のどこかに、ロックファイルの状態を調べ何がしかに出力するようなデバッグコードを挿入すれば良いだけでしょう。
他には「ロックファイルを生成する『だけ』」の CGI を別途用意しておいて、ロックファイル生成後に目的の CGI を呼んでエラーとなるか調べてみる、とか。

symlink による方法は実際にはファイルを「ロック」している訳ではなく、ロックファイルという「目印」の有無によって動作を切り替えているだけですから、そういう方法で調べることになるでしょう。


こんなのではだめなのでしょうか?

No.14133 投稿時間:2004年01月05日(Mon) 22:21 投稿者名:聞疑始 URL:http://homeserver-streaming.com/

私はkent-webさんの↓でチェックしてますが・・・(~ヘ~;)ウーン。
Symlink Checker
http://www.kent-web.com/utility/index.html


たぶん動いてくれるとは思いますが。

No.14134 投稿時間:2004年01月06日(Tue) 10:00 投稿者名: URL:

お二人方ありがとうございましたm(_)m
通行人さんのほうは、うちがほぼ初心者なので全くわかんなかったので、
ファイルが壊れたら壊れたときということにします^^;
KENT-webさんのとこからロックのとこだけコピーしたので、たぶん動いてくれるとは思いますが。。。^^;


|目次|掲示板|過去ログ目次|▲頁先頭|