• ベストアンサー

ロックの情報取得

ロックの情報を取得したいのですがどのようなコマンドを実行すればよろしいでしょうか? ロック  どのファイルがどのプログラムによってロックされているか? ご教授の程、宜しくお願いいたします。

noname#18328
noname#18328

質問者が選んだベストアンサー

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.1

rootでしか実行出来ませんがlsof(8)はどうですかね? 以下のlsofのオンラインマニュアルの抜粋にある通り、lsofを実行し出力のFDの項目を見ればロックされているかどうかが分かります。 ------8<-------8<------8<-------8<-------8<------ FD is followed by one of these characters, describing the mode under which the file is open:   r for read access;   w for write access;   u for read and write access;   space if mode unknown and no lock character follows;   `-' if mode unknown and lock character follows. The mode character is followed by one of these lock characters, describing the type of lock applied to the file:   N for a Solaris NFS lock of unknown type;   r for read lock on part of the file;   R for a read lock on the entire file;   w for a write lock on part of the file;   W for a write lock on the entire file;   u for a read and write lock of any length;   U for a lock of unknown type;   x for an SCO OpenServer Xenix lock on part of the file;   X for an SCO OpenServer Xenix lock on the entire file;   space if there is no lock. ------8<-------8<------8<-------8<-------8<------ 以下、Fedora CORE 3での実行例です。 (たぶん、見難いとは思いますが。。。) ------8<-------8<------8<-------8<-------8<------ # lsof | egrep " [0-9]*[rwu\-][NrRwWuUxX] " nifd 3563 root 4uW REG 253,0 5 1080653 /var/run/nifd.pid mDNSRespo 3593 nobody 10uW REG 253,0 5 1080655 /var/run/mDNSResponder.pid sendmail 3793 root 5wW REG 253,0 33 1080751 /var/run/sendmail.pid sendmail 3801 smmsp 4wW REG 253,0 50 1084009 /var/run/sm-client.pid anacron 3905 root 4uW REG 253,0 9 1084745 /var/spool/anacron/cron.daily anacron 3905 root 5uW REG 253,0 0 1084747 /var/spool/anacron/cron.monthly atd 3914 root 3uW REG 253,0 5 1084699 /var/run/atd.pid gconfd-2 4562 lean 12wW REG 253,0 649 214373 /tmp/gconfd-lean/lock/0t1112092337ut33437u500p4562r2059905881k3220550124 (deleted) ------8<-------8<------8<-------8<-------8<------

noname#18328
質問者

お礼

lsofを使うのですね。私の環境には入っていなかったようなのでインストールして試してみます。 ありがとうございました。

関連するQ&A

  • Cでファイルのロック元の情報を出力するには

    ファイルのロックに関する情報を表示するプログラムを作ろうとしています。 flock構造体のl_pidが、ロックしているプロセスのIDだということまでわかりました。 このl_pidから、ユーザや起動コマンド等を知るにはどうすればいいのでしょうか。

  • PC情報の取得について

    VBのプログラムからパソコンのメーカー名、型式、製造番号等の情報を取得する方法ってあるのでしょうか?いろいろなAPI等も調べてみましたが見つける事が出来ませんでした、、何か情報をご存知でしたら是非ご教授下さい。 資産管理等のソフトを実行するとこのような情報を画面表示してくれるので何か方法があると思うのですが行き詰ってしまいました、、どうかよろしくお願いします。 ※VBは6を使用しています。

  • コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法

    はじめまして。 Linux(ディストリビューションは問わず)で コマンド(例えばlsコマンド)を実行して その出力結果を文字列で取得するプログラムを作成したいです。 コマンドの実行はsystem()で可能なのかな?と思っていますが、 コンソールに出力される内容はどのように取得して良いのか分かりません。 詳しい方がおりましたらご教授お願い致します。

  • 画面ロック中のタスク実行(shutdown -s)について

    定時になったら自動的にwindowsを終了させるため shutdown -sコマンドを埋め込んだバッチプログラム をタスクスケジューラから起動させようと思っていますが、なぜか画面ロックをしていると shutdown -sコマンドは実行されません。 バッチファイル内部に併記した copy c:\a.txt c:\aa.txt などは実行されているようなのですがなぜ shutdown -sコマンドのみ実行ができないのでしょうか。 また実行する方法などがあれば教えていただければと思います。

  • RSSから情報を取得するには

    RSSを利用して情報を取得し色々と利用しようと思いRSSの技術については全く知識はありませんがXMLファイルを取得してそこから情報を切り出すくらいはできたのでいろいろなRSSフィードから取得していたら、XMLファイルをローカルに保存するとブラウザ上で見れる内容の最初の一部分しかないxmlファイルでした。 具体的にははてなキーワードAPIのRSSフィードです。これを正常に取得できないのは何がいけないのでしょうか?ブラウザで名前をつけて保存を行うと問題なく保存ができるので、ダウンロードの際の要素?属性?の様な物が間違ってるのでしょうか? どうかご教授ください。

    • 締切済み
    • XML
  • 実行中のASPファイル名(自ファイル)を取得する

    お世話になります。 ASP内で現在実行中の自ファイル名称(パスでも可です)を取得したいと考えております。 VBでのMe.Nameみたいなことができるのかと思ったらできなくてちょっと困ってます。 ご存知の方いらっしゃいましたら何卒ご教授の程、よろしくお願いいたします。 一応環境情報も。。。 環境:IIS5.1 + ASP

  • vbsによるユーザ情報の取得について

    windows2003のマシンで全ユーザ情報を取得したいです。 具体的にはnet user "ユーザ名" コマンドを実行したいのですが 対象マシンが複数あり、ユーザもたくさんいるのであまり手間をかけることなくbatかvbsで実行したいのですが 構文を教えていただけないでしょうか c:\net user \\xxxx のユーザー アカウント ------------------------------------------------------------------------------- Administrator ASPNET HelpAssistant SUPPORT_388945a0 Guest コマンドは正常に終了しました。

  • Runtime.execでの実行結果の取得

    初歩的な質問ですいませんが、execでバッチファイルを実行し、 その結果を取得したい場合、getInputStreamとgetErrorStream以外に 取得する方法はあるのでしょうか? バッチファイルを単独で実行した場合に画面出力されるエラーが、 なぜか取得できないでいます。 ただ、実行しているコマンドはDOSコマンドではなく、 別アプリのEXEファイルになります。 (DOSコマンドの結果は正常に取れました)

    • ベストアンサー
    • Java
  • ログオンユーザ名の取得

    お世話になります。 Windows7Pro ドメイン環境 秀丸エディタのマクロより、現在Windowsにログオンしている ユーザ名を取得したいと考えております。 そこで、マクロから外部コマンド(whoami)を実行したとしても その実行結果をマクロで受け取ることができません。 ※いったん実行結果をiniファイル等に書き込むようにしておき  マクロからそれを読み込む方法はあるようです。 現在ログオンしているユーザ名がレジストリのどこかに保持されて いるのであれば、マクロから直接参照しにいけばいいのかな。。と 思っているのですが。 そこで質問ですが、  ・レジストリから現在ログオンしているユーザ名を取得することは   可能でしょうか。可能ならどこを参照すればよいのでしょうか。  ・そもそもコマンド実行する以外で取得することは可能なのでしょうか。   もし他の方法があればお教え下さい。 ご教示の程、宜しくお願い致します。

  • 質問概要:ルーティングテーブルの情報取得法について

    質問概要:ルーティングテーブルの情報取得法について 以下を達成する手段をご存知の方がおられましたら,ご教授お願い致します. 目標:プログラムから,ルータが持つルーティングテーブルの情報を取得したい.    使用言語はC,C++,JAVA,もしくはPHPのいずれかが良い. 環境:Windows7 Home Premium(64bit),Core i5.  以上のように,コマンドプロンプトではなく,プログラムから外部のルータに アクセスし,保持されているルーティングテーブルの情報(特にIPアドレス)を 取得するようなプログラムを書きたいのですが,如何せん方法が全く分からないのです.  もし,可能な方法や関数,参考書籍,サイトをご存知の方おられましたら, ご回答よろしくお願い致します.