Skip to main content

Программа Handle (версия v3.51)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 24 января 2013 г.

Введение

Вам когда-нибудь хотелось узнать, какая программа открыла тот или иной файл или каталог? Теперь у вас есть такая возможность. Программа Handle — это инструмент, который выводит сведения об открытых дескрипторах для любого процесса в системе. Она позволяет посмотреть, какие программы открыли файл, а также увидеть тип объектов и имена всех дескрипторов программы.

На этом же узле Sysinternals можно загрузить и вариант этого средства с графическим интерфейсом, Process Explorer.


Установка

Чтобы запустить программу Handle, достаточно ввести «handle». Необходимо иметь права администратора.

Программа Handle работает в системах Windows 9x, Me и Windows NT и более поздних версий, а также в системах x64 Windows XP 64-bit Edition и Windows Server 2003 64-bit Edition.


Использование

Программа Handle предназначена для поиска ссылок на открытые файлы, поэтому, если никакие параметры командной строки не заданы, она выводит список значений всех дескрипторов в системе, которые ссылаются на открытые файлы, с указанием имен этих файлов. Изменить работу программы можно с помощью нескольких параметров.

Использование: handle [[-a] [-u] | [-c <дескриптор> [-y]] | [-s]] [-p <имя_процесса>|<pid>> [имя]

-a
Вывод сведений обо всех типах дескрипторов, а не только о тех из них, которые ссылаются на файлы. К другим типам дескрипторов относятся порты, разделы реестра, элементы синхронизации, потоки и процессы.

-c
Закрывает указанный дескриптор (который задается в шестнадцатеричном формате). Необходимо указать процесс с помощью его идентификатора PID.

ВНИМАНИЕ! Закрытие дескрипторов может привести к нестабильной работе приложений или системы.

-y
Не запрашивать подтверждение закрытия дескриптора.

-s
Выводить число открытых дескрипторов каждого типа.

-u
При поиске дескрипторов показывать имя пользователя-владельца.

-p
Вместо проверки всех дескрипторов в системе при указании этого параметра программа Handle ищет только те процессы, имя которых начинается со строки «имя_процесса». Так, команда

handle -p exp

показывает открытые файлы для всех процессов, имя которых начинается с «exp», например для процесса Explorer.

имя
Этот параметр позволяет настроить программу Handle на поиск ссылок на объект с указанным именем. Например, если требуется узнать, какой процесс (если таковой имеется) открыл каталог «c:\windows\system32», это можно сделать с помощью следующей команды:

handle windows\system

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


Выходные данные программы Handle

Если программа находится не в режиме поиска (который можно включить, указав в качестве параметра фрагмент имени), ее выходные данные состоят из нескольких разделов, в каждом из которых перечислены сведения о дескрипторах одного процесса. В качестве разделителя используется пунктирная линия, под которой отображаются имя процесса и его идентификатор (PID). После имени процесса выводится список, в каждой строке которого показано значение дескриптора (в шестнадцатеричном формате), тип объекта, которому он соответствует, а также имя объекта (если таковое имеется).

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


Дополнительные сведения

Дополнительные сведения о диспетчере объектов можно найти в книге Windows Internals, 4th Edition (Внутреннее устройство Microsoft Windows, четвертое издание). Кроме того, можно просмотреть пространство имен диспетчера объектов с помощью программы WinObj.


Другие средства

Ниже приведен перечень других средств наблюдения за системой, опубликованных на веб-узле Sysinternals:

  • Process Explorer — программа с графическим интерфейсом, которая позволяет просматривать библиотеки DLL и дескрипторы в операционных системах Win9x, Me, NT и Win2K;

  • ListDLLs — инструмент командной строки для просмотра библиотек DLL в операционных системах Win9x, Me, NT и Win2K.


Статьи о программе Handle в базе знаний Майкрософт

В следующих статьях из базы знаний Microsoft упоминается об использовании программы Handle для диагностики или устранения различных ошибок:

 

Поддержка операционных систем

Программа Handle работает в системах Windows 9x, Me и Windows NT и более поздних версий, а также в системах x64 Windows XP 64-bit Edition и Windows Server 2003 64-bit Edition.

К началу страницы К началу страницы

Другие средства

Ниже приведен перечень других средств наблюдения за системой, опубликованных на веб-узле Sysinternals:

  • Process Explorer - рограмма с графическим интерфейсом, которая позволяет просматривать библиотеки DLL и дескрипторы в операционных системах Win9x, Me, NT и Win2K;
  • ListDLLs - инструмент командной строки для просмотра библиотек DLL в операционных системах Win9x, Me, NT и Win2K.

К началу страницы К началу страницы