• ベストアンサー

プロセスが使用している資源の確認方法

プロセスが使用している資源(ファイル、メモリ、外部機器等)を調べる方法を教えて下さい。 リソースキットは見たのですが、載っていないようです。 あるプロセスがファイルをつかんでしまっていて、 そのロック待ちが発生し、以後のプロセスが動作しないようなんです。 Windows NT4.0 WorkStationです。 どなたか、助けて!!!

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

  • ベストアンサー
  • kawabata
  • ベストアンサー率67% (21/31)
回答No.3

SysIntenalsのツールを利用すると、確認できます。 英語になりますが、ツールはとてもシンプルなので、 問題ないかと思います。 http://www.sysinternals.com/ Uitlities for Windows NT/2K にあるツールを利用します。 主なツールは次のとおりです。 Filemon : ファイルの利用状況 Regmon : レジストリの利用状況 HandleEx : プロセスのオープンしているリソース一覧

参考URL:
http://www.sysinternals.com/
LupinThe3rd
質問者

お礼

ありがとうございました。 早速ダウンロードして、試してみます。 長かったトラブルからようやく抜けられそうです。

その他の回答 (2)

noname#271
noname#271
回答No.2

メモリの使用量はタスクマネージャーを起動することでわかりますが、ファイル等の資源についてはわかりません ファイルをつかんでいるということは、 そのファイルを使ったアプリが異常終了しませんでしたか? ネットワーク上にあるPCなら誰もあなたのPCのファイルを 使用していないことを確認して再起動してみてくださいそれで解決するはずです。 #Win系は、ファイルを正常に閉じないで終了すると #こういったことによくなります。 #こうなったら再起動しかありません。

noname#9414
noname#9414
回答No.1

Windows NTは確認していませんが、Windows 2000 では、Ctrl+Alt+Delを押したときに出る『タスク マネージャ』で表示変更すれば、全て見ることが 可能ですよ。 一度ご確認ください。 ではでは☆

LupinThe3rd
質問者

補足

ご回答ありがとうございます。 大変恐縮なんですが、小生の知りたかったのは 「プロセス」ではなく、「プロセスが使用している資源」なんです。 [プロセス]としては、[MSACCESS.EXE]ですが、 このプロセスが使う資源は、たとえば[NewWind.MDB]とか[MSACCESS.DLL]ということなんです。 [DLL]を例に挙げたのは失敗かもしれませんが....。

関連するQ&A

  • NTプロセス一覧の取得

    毎々お世話になります。 NT4.0で稼働中のプロセス一覧をテキストファイルに出力したいと考えています。 Psapi.dllを使用すれば可能であるということは調べてわかったのですがNTのリソースキット等でEXE形式(DOSプロンプトより起動可能)で提供されてはいないのでしょうか? よろしくお願いいたします。

  • プロセスについて

    アプリを起動するとプロセスが発生すると思うのですが、そのプロセスはまず仮想メモリアドレス空間に待機しその後物理メモリにて処理され、いっぱいだった場合はページングファイルが使われると思います。 その場合、1つのアプリでのプロセスが物理メモリとページングファイルに分かれることはあるのでしょうか?

  • ファイルをロックしているプロセスを確認できるフリーソフト

    お世話になっております。 Windowsでファイルがロックされていて削除できない場合などに下記のことができるフリーソフトを探しています。 (1)ファイルをロックしているプロセス等を表示できる。 (2)そのロックを強制解除できる。 (3)PCにインストールするタイプでない(USBメモリ等で持ち運べる) Unlockerは(1)(2)を満たしていて非常にいいのですが、PCにインストールする形のため(3)が満たせていません。 windows2k以降で動作するフリーソフトで上記のようなフリーソフトがありましたら教えてください。よろしくお願いします。

  • メモリを大量消費してるプロセスが見つからない

    タスクマネージャーでメモリ使用量が80%超えなどしてPCの動作が遅くなってるときも、プロセス一覧のメモリ使用量を合計してもそれが全メモリ使用量と一致せずどのプロセスを止めればいいかわかりません。 リソースモニターを開くとメモリ使用量が40%程度と表示され、こちらでもどのプロセスがメモリを大量消費しているかわかりません。 タスクマネージャーの表記が間違ってるのでしょうか? どうやったらメモリ使用量の多いプロセスを見つけて止めることができるでしょう?

  • PHP動作中のプロセスはどうなっている?

    現在PHPで動くWebアプリを作成中です。 このPHPの動作は約1分動作します。 このPHPを動作中にブラウザを閉じたり、別のページに遷移したり、またはブラウザの「中止」ボタンや「更新」ボタンを押すと、実行中のPHPのプロセスってどうなってしまうのでしょうか? これはブラウザ側からPHPの動作を停止せよという命令が行くのですか? それともPHPは最後まで実行されて、その結果のレスポンスをブラウザが受け取らないだけなのでしょうか? やりたいことがあるのですが、SQLiteはデータベースの同時書き込みができないので、他のPHPがそのデータベースを書き込む前にファイルロックと同じ要領でファイルをロックし、書き込み終了したらファイルロックを解除する、というのをやりたいのですが、書き込み中にPHPのプロセスが停止してしまったらファイルがロックしたままになるかと思って質問しました。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • EXCELのプロセスが残ってしまう

    VBからExcelを起動し、ごく稀にExcelのプロセスが残ってしまう場合があります。全く同じ条件で実行した場合、残る時と残らない時とありを悩ませています。 いろいろな対策方法が検索できましたが、解決しませんでした。 また、このようにExcelプロセスが残った際、IISの動作がおかしくなっているのか、「CGIエラー」を返します。ただし、exeなど実行系ファイルを実行せず、XXX.HTMなどは表示できます。 VBで記述したexeは、CGI系のアプリとしてブラウザから実行されています。 対処方法ご存知でしたら、教えて下さい。 環境 NT4サーバ+SP6a Excel97 VB5.0

  • 外部プロセス起動時に発生するエラーについて

    外部プロセス起動時に発生するエラーについて お知恵を拝借させてください。 あるプロセス(以下A)から同一端末上の別プロセス(以下B)を起動する場合に、 エラーが発生します。 エラーの内容は、参照オブジェクトが作成されていないという内容です。 このエラー自体については納得はできるのですが、 プロセスBの直接起動の場合、このエラーは発生せず、正常に動作します。 別プロセスからの起動と、直接起動で、 内部的な動作の違いがあるのかもと想像しているのですが、 確認の方法がわからず、困っています。 解決の為の方法、ヒントか糸口など、 もしご存知の方がいらっしゃいましたら教えていただきたいのです。 プロセスA、B双方ともVB2008による開発です。 よろしくお願いします。

  • 非プールメモリの容量(WinNT4.0)

    WindowsNT4.0Workstationの話です。 知人が、NT4.0にServicePack6aをあてたら、週に何度もブルースクリーン(MUST_SUCCEED_POOL_EMPTY)が発生するようになったそうです。(もとのServicePackは不明) いろいろと調べたのですが、どうもSP6では以前のものとは違いプールメモリの拡張が防止されているためシステムプロセスにメモリ不足が生じてこういうエラーになることがあるようです。 そこで、根本的な解決にはならないとは思うのですが、非プールメモリの容量を増やしたいのですが、どうすればよいのでしょうか?単に物理メモリを足すと非プールメモリも増えるのでしょうか? ご存知のかたご教授ください。

  • jdbcのプロセスの処理について

    ある特定のRDBがインストールされているデータベース サーバーにデータのロードを行っていた際、Webからの検索が起動され、この時には、3~5分程度経ってからブラウザにタイムアウトが帰っていました。 (データのロード中なのでテーブルはロックされていた) これは問題ではないのですが、この際Webサーバ側では jdbcのプロセスが生き残り、データベースサーバーへの アクセスを繰り返し続け、結局jdbcのプロセス自体が 増えつづけて、Webサーバ自体のリソースを使いきってしまうという現象が起こりました。 さらに、アクセス要求を受けつづけるデータベース自体も、データのロードが止まってしまいました。 この現象についてjdbcの設定等で回避する方法はないでしょうか? できれば特定のExceptionが発生してWebサーバに瞬時に帰り、なおかつプロセスもデータベースサーバーに 迷惑をを掛けずに死んでいくというのが理想的なのですがこのような回避方法は可能でしょうか? JDBCのことがわからず質問しました。 何卒よろしくお願いいたします。

  • プロセスとスレッドの違いについて(Cプログラミングの観点から)

    プロセスとスレッドの違いがしっくりきません。 <プロセス> (1)プログラムの実行単位。Windows や Linux などの汎用 OS 上のアプリケーションは一般にプロセスとして動作している。プロセスは1つ以上のスレッドと、ファイル、ヒープメモリなどのリソースで構成される (2)起動や切り替えのオーバーヘッドが大きい <スレッド> (1)同一プロセス内の複数スレッドを同一メモリ空間上で実行でき、メモリ消費量などが軽減できる。 (2)マルチスレッド処理のプログラミングにおいては、同じデータを複数のスレッドが同時に書き換えることによる不整合に注意し、排他制御を行う必要がある。 等はwiki等調べて理解しています。 何が疑問なのかと申し上げますと、具体的にプログラミングする際に (1)マルチプロセスとマルチスレッド方式では、ソースにどのような違いが出てくるか (2)マルチプロセスとマルチスレッド方式では実行時間がどれだけ変化するか がわからないのです。お仕事で並列処理等について担当されている方などおられましたら、お手数ですがご教授ください。 なお、わかりやすい書籍、webサイト等ありましたらそれも併せて教えていただけると助かります。よろしくお願いします。ちなみに、環境はWindowsXP,VisualC++ExpressEdition2005を使っていますので、UNIXよりはWindowsかつCで動くプログラム例で教えていただけると大変助かります。しかし、当方Javaも多少であれば組めますのでJavaでも構いません。 何卒、よろしくお願い致します。