2
  1. В Windows, если я хочу проверить, какой процесс использует файл, я могу использовать такие программы, как Process Hacker и его функцию поиска, чтобы ввести имя этого файла.

    Из информации, которую он предоставляет, я знаю, что процесс что-то делает с этим файлом, но я не знаю, заблокировал ли он его, или он просто читает или пишет на нем. Как я могу получить эту информацию?

  2. Что важнее, а как же наоборот? Я хочу найти имя файла, который заблокирован или записан или прочитан процессом.

    Как мне это сделать?

На следующем снимке экрана вы можете увидеть, как легко найти имя процесса по имени файла, но как я могу найти имена файлов, используемых данным процессом?

В этом примере я использую Acrobat, чтобы открыть файл PDF с именем eemeir.pdf , но этот список не отображается в дереве процессов Acrobat.

С Process Explorer тоже самое:

PD:@ user173724 предложил, как это сделать с помощью Process Explorer, и я также нашел, как это сделать с PH:

Мне нужно выбрать опцию «Вид -> Окно» и появится очень большой список информации.

Но там очень некрасиво и неудобно что-то находить (то же самое относится и к Process Explorer), в этом разделе нет функции поиска.

Также щелкните правой кнопкой мыши на «Process -> Properties -> Handles».

3 ответа3

2

Существует утилита Microsoft под названием Process Explorer, которая похожа на диспетчер задач на стероидах. При нажатии на программу в списке отображаются все файлы, к которым осуществляется доступ, и ее функция поиска позволяет вам определить, какая программа обращается к файлу.

2

По вопросу № 2:

Чтобы найти имя файла, который заблокирован или записан или прочитан процессом

дважды щелкните по процессу и перейдите на вкладку "Ручки" (для этого не требуется плагин PH). Вас интересуют строки с Type = "File".

По вопросу № 1:

Как и в ответе выше, вам нужно найти процесс, дважды щелкнуть его, перейти на вкладку "Ручки" и найти файл там.

Затем, если вы дважды щелкнете по дескриптору файла, вы увидите Granted Access . Например, если вы попробуете это в Excel, "Предоставленный доступ" будет "Чтение" для файлов TTF (это шрифты, Excel явно их не изменяет), но «(Запись, чтение, удаление)» для файлов XSLX или других пользовательских данных. файлы.

0

В качестве альтернативы вы можете использовать команду дескриптора sysinternals (https://technet.microsoft.com/en-us/sysinternals/handle), которая является частью того же пакета.

handle c:\windows

показывает все процессы, использующие окна или один из файлов ниже этого каталога.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .