handle.exe

あるシステムが正常に終了してくれない。原因を調査していくとDドライブに存在するファイルのうち、いずれかのファイルが自社製サービスによって使用されていて、それが終了時の問題のトリガとなっていることが他社製のサービスのログからわかった*1

だが、私は保守屋であって開発屋ではないので、サービスの内容やソースまでもぐった調査ができない。開発屋に調査を依頼するには時間がかかり、納期は目前だ。とりあえず開発屋をアサインしておき、続行して調査することになった。

とりあえず、どのファイルが使用されているのか調べる方法を探していたところ、こんな方法を見つけた。

handle.exeを実行すると、結果はコンソールに出力される。textにリダイレクトしてもよかったがfindstrに渡してみた。

handle | findstr D:\

すると、アプリによって使用されている、D:の全てのファイルが表示された。すばらしい。

この辺と組み合わせて、textにリダイレクトさせれば、システム終了時使用されているファイル一覧が取得できるだろう。

handle | findstr D:\ > UseFile.txt

*1:他社製のサービスはDドライブ上のいかなるファイルも使用されていないことを終了時要求する