Введение / Зачем это нужно
Process Explorer — это продвинутый инструмент от Sysinternals (теперь часть Microsoft), который предоставляет детальную информацию о всех запущенных процессах, потоках, загруженных библиотеках (DLL) и дескрипторах в системе. В отличие от стандартного Диспетчера задач, он показывает дерево процессов (какой процесс породил другой), позволяет искать, какой именно процесс блокирует файл или папку, и отображает реальное использование ресурсов (CPU, памяти, GPU, диска) в виде графиков.
После выполнения этого гайда вы сможете:
- Найти и завершить "зависший" или вредоносный процесс.
- Диагностировать утечки памяти или дескрипторов.
- Узнать, какая программа использует конкретный файл или порт.
- Изучить командную строку и окружение любого процесса.
Требования / Подготовка
- Операционная система: Windows 10, Windows 11 или Windows Server 2016 и новее.
- Права доступа: Для просмотра информации о процессах других пользователей и системных служб требуются права администратора. Всегда запускайте
procexp.exeчерез пункт "Запуск от имени администратора". - Зависимости: Для работы некоторых функций (например, отображения цифровой подписи) требуется .NET Framework 4.0 или выше (обычно уже установлен в современных Windows).
- Антивирус: Некоторые антивирусы могут по ошибке помечать Process Explorer как потенциально нежелательное ПО (PUP), так как он глубоко интегрируется в систему. Добавьте его в исключения, если уверены в источнике загрузки (только с официального сайта).
Шаг 1: Скачайте и запустите Process Explorer
- Откройте браузер и перейдите на официальную страницу загрузки Sysinternals:
https://docs.microsoft.com/ru-ru/sysinternals/downloads/process-explorer - В разделе "Download Process Explorer" скачайте ZIP-архив (например,
Procexp64.zipдля 64-битных систем). - Распакуйте архив в удобную папку, например
C:\Tools\ProcessExplorer\. - Найдите файл
procexp.exe(илиprocexp64.exe). Щёлкните по нему правой кнопкой мыши и выберите "Запуск от имени администратора". Это критически важно для корректной работы.
# Альтернативный способ запуска из PowerShell/CMD с правами админа:
Start-Process "C:\Tools\ProcessExplorer\procexp64.exe" -Verb RunAs
После запуска вы увидите главное окно с таблицей процессов.
Шаг 2: Изучите основной интерфейс
Главное окно Process Explorer разделено на несколько частей:
- Верхняя панель инструментов: Кнопки для поиска (
Ctrl+F), фильтрации, обновления, сохранения и т.д. - Древовидный список процессов: Каждый процесс показан в виде строки таблицы. Столбец "Parent" показывает PID родительского процесса, что визуализирует цепочки запуска. Например,
explorer.exeчасто является родителем для many пользовательских приложений. - Цветовая индикация:
- Зелёный — процесс, запущенный вами (текущим пользователем).
- Розовый — служба Windows.
- Синий — процесс, запущенный в контексте другого пользователя (например, SYSTEM).
- Фиолетовый — процесс, который имеет один или несколько загруженных DLL, подписанных Microsoft.
- Панель статуса: Внизу окна отображается общее количество процессов, потребление CPU и памяти в системе.
👉 Совет: Настройте отображаемые колонки под свои нужды. Щёлкните правой кнопкой на любой заголовок колонки → "Select Columns...". Для диагностики обязательно добавьте колонки: Command Line (полная командная строка запуска), Verified Signer (кто подписал бинарник), GPU и GPU Usage.
Шаг 3: Используйте поиск по дескрипторам и DLL
Это самая мощная функция Process Explorer для решения проблем с блокировками.
- Нажмите
Ctrl+Fили меню Find → Find Handle or DLL.... - В открывшемся диалоговом окне введите:
- Имя файла или папки (например,
config.jsonилиC:\Temp\), чтобы найти, какой процесс держит его открытым. - Имя DLL (например,
vcruntime140.dll), чтобы узнать, какие процессы используют конкретную библиотеку. - Имя процесса (например,
chrome.exe), чтобы увидеть все его открытые дескрипторы.
- Имя файла или папки (например,
- Нажмите Search. Внизу окна появятся результаты. Двойной клик по результату перейдёт к соответствующему процессу в основном окне и выделит нужный дескриптор в его свойствах.
# Пример: если вы не можете удалить папку, потому что она "используется другой программой",
# найдите в Process Explorer имя этой папки. Вы увидите процесс, который её блокирует.
# В результатах будет что-то вроде:
# chrome.exe (PID 12345) - Handle: 0x1a4c - C:\MyFolder\somefile.tmp
Шаг 4: Анализируйте свойства процесса для глубокой диагностики
Чтобы получить исчерпывающую информацию о конкретном процессе:
- В основном списке найдите нужный процесс (можно отсортировать по CPU или памяти).
- Дважды кликните по нему или выберите процесс и нажмите Process → Properties.
- Изучите вкладки:
- Image: Путь к исполняемому файлу, компания-разработчик, цифровая подпись.
- Performance: Графики использования CPU, памяти, диска и сети в реальном времени. Полезно для выявления "процессов-пожирателей".
- Threads: Список всех потоков процесса. Можно увидеть адреса начала потоков и время CPU, потраченное каждым. Полезно для отладки многопоточных приложений.
- Handles: Ключевая вкладка. Список всех открытых системных объектов (файлы, разделы реестра, события, мьютексы и т.д.). Если процесс "подвис" из-за ожидания ресурса, ищите его здесь. Фильтруйте список по типу (File, Key, Event).
- DLLs: Все загруженные библиотеки с версиями и путями. Помогает найти конфликты версий (например, когда в
C:\Windows\System32лежит старая DLL, а приложение ожидает новую из своей папки). - Security: Информация о токене безопасности процесса: группы пользователей, привилегии (SeDebugPrivilege и др.).
Шаг 5: Практический пример — найти процесс, блокирующий файл
Ситуация: Вы не можете удалить файл C:\Data\report.docx, система пишет "Действие не может быть выполнено, потому что файл открыт в другой программе".
Решение с Process Explorer:
- Запустите Process Explorer от администратора.
- Нажмите
Ctrl+F. - В поле поиска введите
report.docxили часть путиC:\Data\. - Нажмейте Search.
- В результатах вы увидите что-то вроде:
WINWORD.EXE (PID 5420) - Handle: 0x1b8 - C:\Data\report.docx - Двойной клик по этой строке. Process Explorer переключится на процесс
WINWORD.EXE(PID 5420) и откроет его вкладку Handles, выделив найденный дескриптор. - Теперь вы знаете виновника. Вы можете:
- Закрыть дескриптор вручную (правой кнопкой на дескрипторе → Close Handle). Внимание! Это может привести к потере данных в приложении-владельце (Word).
- Вежливо завершить процесс (
WINWORD.EXE), если это допустимо (через контекстное меню процесса → Kill Process). Сохраните документы в других окнах Word перед этим. - Просто закрыть документ в самом Word, если он открыт.
Проверка результата
Вы успешно освоили Process Explorer, если можете:
- Отличить системный процесс от пользовательского по цвету и дереву.
- Найти PID процесса по его имени или части командной строки.
- С помощью
Ctrl+Fопределить, какой процесс удерживает конкретный файл, папку или ключ реестра. - Открыть свойства процесса и прочитать вкладки Handles и DLLs для диагностики.
- По графикам на вкладке Performance определить "прожорливый" процесс.
Возможные проблемы
| Проблема | Вероятная причина | Решение |
|---|---|---|
| Process Explorer не запускается или сразу закрывается. | Антивирус/Windows Defender помечает его как угрозу. | Добавьте папку с procexp.exe в исключения антивируса и Защитника Windows. Скачивайте только с официального сайта Sysinternals. |
| Не вижу процессы других пользователей (например, SYSTEM). | Запустили без прав администратора. | Закройте Process Explorer и запустите его заново через "Запуск от имени администратора". |
| В списке процессов нет нужной колонки (например, Command Line). | Колонка не добавлена. | Щёлкните правой кнопкой на заголовке таблицы → Select Columns... → вкладка Process Image → отметьте Command Line. |
| При попытке закрыть дескриптор (Handle) получаю ошибку "Access Denied". | У вас недостаточно прав или дескриптор защищён системой. | Убедитесь, что Process Explorer запущен от администратора. Некоторые системные дескрипторы закрыть нельзя без перезагрузки. |
| Графики CPU/памяти в свойствах процесса не обновляются. | Обновление приостановлено. | В окне свойств процесса нажмите кнопку Refresh (или установите флажок "Auto Refresh" вверху). |
Бонус-совет: Для постоянного мониторинга можно использовать Process Explorer в режиме замены Диспетчера задач. В меню Options → Replace Task Manager включите эту функцию. Теперь при нажатии Ctrl+Shift+Esc будет открываться Process Explorer.