Файл используется другим процессом.Как узнать какой процесс? - PullRequest
8 голосов
/ 02 августа 2010

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

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

Ответы [ 3 ]

10 голосов
/ 02 августа 2010

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

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

2 голосов
/ 02 августа 2010

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

1 голос
/ 02 августа 2010

Посмотрите на это: http://www.emptyloop.com/unlocker/

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

Надеюсь, это поможет!

Шон

...