Файл используется другим процессом. Как узнать, какой процесс?

Я продолжаю получать это исключение в своей программе. Как узнать, какой процесс заблокировал его, либо с помощью программного кода, либо с помощью windows?

System.IO.IOException : The process cannot access the file 'file.ext' because it is being used by another process.

3 ответов


вы можете использовать ProcessExplorer для поиска файла:

просто запустить, что (возможно, вам нужно запустить его с правами администратора), нажмите Ctrl-F и введите имя файла, который заблокирован - он найдет все открытые дескрипторы, которые соответствуют данному имени, и скажет вам, к какому процессу он принадлежит.


вы можете использовать такой инструмент, как ProcessMon посмотреть какой процесс блокирует файл.


взгляните на это: http://www.emptyloop.com/unlocker/

Я использую его все время, говорит вам, какой процесс заблокировал его и дает вам шанс полностью раскрыть его. Особенно полезно, когда отладка приложений для обработки изображений и она бомбит, не закрывая файл должным образом.

надеюсь, что это помогает!

Шон