ファイルをロックしているプロセスを特定する
質問
ローカルで正常に動作するユニットテストがありますが、TeamCityビルドサーバーにアップロードすると、「プロセスは別のプロセスで使用されているためファイルにアクセスできません」で失敗します。
- テストで何かをする前に ファイルがあればセットアップをチェックインします 存在する場合は削除してください。 これは同じエラーで失敗します 上記のメッセージ
- を書くとき ファイル、ライターを閉じます 廃棄すべきだと思う リソースを取り除きます。
だから私はいくつかのクエリを持っています
- 同様の問題を抱えている人がいますか?
- どのようにプログラムを見つけることができます プロセスが勝手にロックしました ファイル!!!
乾杯
他のヒント
Sysinternals handle.exe が最初のステップです。または、 Process Explorer の Find Handle or DLL
を使用します。ただし、ハンドルを閉じるよりもプロセスを強制終了する方が常に安全です。
プログラム的には、Windowsハンドルテーブルを読み取るカーネルドライバーを作成するだけです。
ProcessMon (検出用)および Unlocker (少なくともロック解除用)も便利です。
所属していません StackOverflow