ファイルロックしたプロセスの探し方

ロックした犯人はお前か。そのキーボードを捨てて床に伏せろ! 2021-01-21

このデバイスは現在使用中です。デバイスを使用しているプログラムまたはウィンドウを閉じてから、再試行してください。

編集のためロックされています。

プロセスを終了させるとは処理中をデータを吹っ飛ばす事にもなる

処理が終わっていることを確認してから使うように。

例えばコピーの最中に応答が無くなり、その結果ロックが外れていないというのは、OSの安全管理のおかげである。実はアプリケーションが上書しても良いか尋ねるダイアログが出ているのかもしれない。そんな時にプロセスを終了してしまうのはデータやプログラムを壊すことになるのだ。

explorer.exe の場合終了させて良いかどうかは場合による。全てのエクスプローラーウィンドウを閉じてから、アドレスで「PC」を出して、「デバイスとドライブ」で右クリックで「取り外す」をすると取り外せる場合が多い。

それでも無理なら一度シャットダウンしてしまうのが吉。

リソースモニターを使う

タスクマネージャとは違う。スタートメニューで「リソースモニター」を検索するかコマンドは「 perfmon /res 」。

この中のCPUタブの関連付けられたハンドルにてターゲットのファイルを検索してみる。

USBメモリ等「 e:\ 」やファイル名の一部でもよい。

出てきたイメージを終了させる。結構ウィルス対策ソフトがアクセスしまくって離さない事が多い。

openfiles (初体験なら要再起動)

元々はネット経由で誰がロックしているか調べるプログラムのため、ローカルで使うにはおまじないが必要。

openfiles /local on

していないとこうなる。

OPENFILES
 情報: ローカルで開いたファイルを参照するには、システム グローバル フラグ
       'maintain objects list' を有効にする必要があります。
       詳細情報は、Openfiles /? を参照してください。
 ローカルの共有ポイントをとおしてリモートで開いているファイル:
 情報: 開いている共有ファイルが見つかりませんでした。

使い方。

openfiles /v

但し全部出してくるので、フィルタは必要。 /v スイッチはフルパス表記。

Process Explorer (procexp)

メニュー – Find -Find Handle or DLL substring

で検索。

Process Monitor (Procmon)

Edit – Find で検索可能だが、事前に起動しておかないとHitしない。