• ベストアンサー

lockディレクトリとは?

naturalの回答

  • ベストアンサー
  • natural
  • ベストアンサー率37% (419/1115)
回答No.3

inoue64さんに補足させて頂きます。 単一のファイルに対して誰かがアクセスしている間に別な誰かがアクセスできない様に(排他制御)するためにフラグ代わりのファイル等を作成します。 同じ名前のファイルを作成しようとするとエラーが返りますので、これを利用してファイルが存在する間はアクセス中という判断が出来るわけです。 リトライの処理を入れておけば設定した時間内はアクセスの可否を確認し、時間が過ぎたらエラーにする等の処理が出来ます。 実際にアクセスしているユーザーが使用し終わったらファイルを消す処理を入れておけば、ファイルが消え次第次のユーザーがアクセス出来るという仕組みです。

barber
質問者

お礼

レスをくれた皆さん、ありがとうございました。

関連するQ&A

  • ロックしたディレクトリが消えない(?)

    flock関数を使い、 $lockfile="./lock/lock.loc"; sub lock { foreach $i (1..6) { . . . if(open(LOCK,">$lockfile")){ if (flock(LOCK,6)) { $lock_flag = 1; last ; } } . . . } } という風にし、メインルーチンで&lockを実行し、ファイルロックしたのですが、flock(LOCK, 8)を使い忘れ、あとでFFFTPを使ってこれを消そうとしても、なにやらディレクトリが永遠に続いている感じになってしまい消せません。 /lock/lock.loc/lock.loc/lock.loc/lock.loc/lock.loc/... という風になっています。 それと元からlock/lock.locというディレクトリが存在したままflockを使ってしまったかどうかはちょっと確認していなかったのですが、使う前にあったとしたらlock.locはファイルではなく、ディレクトリです。 (mrdirを使ったロックなどをいろいろ試していたためです。) うまく説明できなかったのですが、どうすればこれは消せますか?後でflock(LOCK, 8)をやっても直りません・・ アップしたサーバーは@niftyです

    • ベストアンサー
    • Perl
  • サーバ上のロックディレクトリを削除したい

    サーバにアップしましたcgiのディレクトリ(フォルダー)を削除しようとしたのですが、 FTPから、どうしても削除出来ないディレクトリがあります。 そのディレクトリとは、下記のツリーにあります、lockディレクトリなんです。lockディレクトリ以下を全部消したいのです。 ルートディレクトリ(プロバイダは@Niftyです) ・・ │ ・・ │---cgi-bin ・・・・・ │ ・・・・・ │---joyfulディレクトリ(KENT WEBの"掲示板"です) ・・・・・・・・・ │ ・・・・・・・・・ │---lockディレクトリ ・・・・・・・・・・・・ │ ・・・・・・・・・・・・ │---joyful.lockディレクトリ ・・・・・・・・・・・・・・・・ │ ・・・・・・・・・・・・・・・・ │---名前がないディレクトリ(下にファイル何も無し) (階層をそのままUPしますと、全部左に寄ってしまいますので、 ドットを入れてあります) このlockディレクトリを削除するため、ウェブで検索したところ、下記のような削除用スクリプトを発見しました。 そこで質問なのですが、 "$delete_dir = "/home/member/ユーザーID/public_html/消したいディレクトリ名/";" ここのところは具体的にどのように書けばよいのでしょうか? そして、このスクリプトはどこに置けばよいのでしょうか? 言葉が足りなければ、補足致しますので、宜しくお願い申し上げます。 削除用スクリプトはこちらにありました。 http://oshiete1.goo.ne.jp/qa1739409.html

    • ベストアンサー
    • CGI
  • LocK-A-FoLdeR の使い方について。

    LocK-A-FoLdeR-V3.9.exeをインストールしたのですが・・・ 本体らしきファイル「lock-a-folder.exe」起動したら Master password を求められました! Master password は何処で入手するのでしょうか? 使い方がわかりません。 使い方等をご存知の方がいらっしゃいましたら教えて下さい。 宜しくお願いいたします。

  • DBMS_LOCK.SLEEPについて

    いつもお世話になっております。 PL/SQLパッケージにて、DBMS_LOCK.SLEEP()を使用したいのですが、 「DBMS_LOCKは宣言されてません。」とエラーになります。 DBMS_OUTPUTプロシージャに関しては正常に動作しているのですが、DBMS_LOCK.SLEEP()を使用するさいにインストールしなければいけないパッケージなどあるのでしょうか? 初心者で申し訳ありませんが、宜しくお願いします。

  • バイパー330V に LOCK音2.3 の取り付けについて!

    バイパー330V に LOCK音2.3 の取り付けについて! バイパー330Vを付けてるのですがシャープ音がイマイチでLOCK音2.3を付けれないかと考えています! ですがLOCK音を単純に付ければバイパーのサイレントとLOCK音のサイレンが一緒になってしまいます! かといってバイパーのサイレンを取ってしまえばフルサイレンなどは活用できません! LOCK音の設定、サイレンでロック音、アンロック音、フルサイレン音を鳴らすことは出来るのでしょうか??? もしくはシャープ音はLOCK音のサイレンで。 フルサイレン時にはバイパーのサイレンでなど。 詳しい方宜しくお願いします!!!(><)/

  • バイパー330V に LOCK音2.3 の取り付けについて!

    バイパー330V に LOCK音2.3 の取り付けについて! バイパー330Vを付けてるのですがシャープ音がイマイチでLOCK音2.3を付けれないかと考えています! ですがLOCK音を単純に付ければバイパーのサイレントとLOCK音のサイレンが一緒になってしまいます! かといってバイパーのサイレンを取ってしまえばフルサイレンなどは活用できません! LOCK音の設定、サイレンでロック音、アンロック音、フルサイレン音を鳴らすことは出来るのでしょうか??? もしくはシャープ音はLOCK音のサイレンで。 フルサイレン時にはバイパーのサイレンでなど。 詳しい方宜しくお願いします!!!(><)/

  • caps lockキー 設定

    caps lockキーの設定についてですが、 従来はcaps lockキーを押すごとに、 (ローマ字入力)ひらがな→半角英数→(ローマ字入力)ひらがな→半角英数→… と交互に変わっていくのですが、 何かの拍子で、 (ローマ字入力)ひらがな→全角英数→(ローマ字入力)ひらがな→全角英数→…   と、全角英数がでてくるようになってしまいました。 従来のように、caps lockキーを押すだけで、 (ローマ字入力)ひらがなと、半角英数を交互にだすことは、できないですか? caps lockキーの設定を変えた覚えは、ありません。 caps lockキーの設定を変える方法をおしえてください。

  • LOCK_EXはifの条件になり得るのか?

    $fp = fopen("/tmp/lock.txt", "r+"); if (flock($fp, LOCK_EX)) { // 排他ロックを確保します ftruncate($fp, 0); // ファイルを切り詰めます fwrite($fp, "ここで何かを書きます\n"); fflush($fp); // 出力をフラッシュしてからロックを解放します flock($fp, LOCK_UN); // ロックを解放します } else { echo "ファイルを取得できません!"; } fclose($fp); PHPのマニュアルサイトに書いてあった例文なのですが、たぶんロックできなかった場合は「ファイルを取得できません!」に出るようにするというものだと思います。 ただ、LOCK_EXはロックできない場合は、ロックできるようになるまで待ちますよね? だとすると、このif文ってelseは機能しないと思うんですが、どうなんでしょうか? もしかしてLOCK_EXは時間制限があって、待ち状態が何分も続くとタイムアウトとしてFalseを返す? そのときにelseが動くということでしょうか? この例文の下にLOCK_NBを使ったものもあるので、LOCK_EXの動作を勘違いしてるとは思えません。 この例文はどのタイミングの時にFalseを返して、elseが動くのでしょうか? http://php.net/manual/ja/function.flock.php

    • 締切済み
    • PHP
  • caps lockキーを無効にしたい

    caps lockキーを無効にしたい caps lockキーを無効にする方法ないでしょうか?XPの時はコントロールパネルからできたような気がするのですが7にキーボード設定の項目がなくてどうすればよいかわかりません。 よろしくおねがいします

  • Caps Lockキーの解除

    あるとき突然ローマ字入力による日本語表記ができなくなってしまいました。どうしてもひらがな入力になってしまうのです。 どうやらCaps Lockキーがロックのまま解除されなくなってしまったようなのです。Caps Lockキーをもう一度押せば解除されるはずなのですが、全く解除されません。 なにかCaps Lock以上のコントロール機能があって、そこで制限されているのでしょうか。 教えてください。