Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf

ВУЗ: Не указан

Категория: Книга

Дисциплина: Операционные системы

Добавлен: 29.10.2018

Просмотров: 33028

Скачиваний: 742

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Process Explorer  

Глава 3  97 

Табл. 3-1.  Параметры командной строки

Параметр

Описание

 /e

В Vista и выше требует повышения привилегий UAC при запуске 
Procexp

/x

Запускает Procexp свернутым в области уведомлений («трее»)

/p:r 
/p:h 
/p:n 
/p:l

Устанавливает приоритет процесса для Procexp, соответственно 
Realtime (Реального времени), High (Высокий), Normal (Обычный) 
или Low (Низкий). Если приоритет не выбран, то по умолчанию 
назначается приоритет High

/s:PID

Выбирает процесс с идентификатором, заданным в десятичной 
системе, например Procexp.exe /S:520

Восстановление настроек Procexp по умолчанию

Procexp хранит все свои настройки конфигурации в разделе реестра «HKEY 
CURRENT USER\ Software\Sysinternals\Process Explorer». Простейший 
способ восстановления всех настроек конфигурации Procexp — закрыть 
программу, удалить из реестра ее раздел и снова запустить.

Клавиатурные комбинации

Применяемые в Procexp комбинации клавиш показаны в табл. 3-2. 

Табл. 3-2.  Клавиатурные комбинации Procexp 

Комбинация

Описание

Ctrl+A

Сохранить отображаемые данные в новый файл (эквивалент 
команды  File | Save As)

Ctrl+C

Копировать текущую строку из главного окна или нижней 
панели

Ctrl+D

Войти в режим просмотра DLL

Ctrl+F

Найти описатель или DLL

Ctrl+H

Войти в режим просмотра описателей

Ctrl+I

Отобразить окно System Information

Ctrl+L

Показать или спрятать нижнюю панель

Ctrl+M

Искать в Интернете

Ctrl+R

Запустить новый процесс (эквивалент команды  File | Run)

Ctrl+S

Сохранить показанные данные в файл (эквивалент команды  
File | Save)

Ctrl+T

Показать дерево процессов (эквивалент команды  
View | Show Process Tree)

Ctrl+1, Ctrl+2 и т. д.

Загрузить первый, второй и т. д. набор столбцов

SIN_ch_03.indd   97

27.12.2011   14:14:34


background image

98  Часть 

II   

Работа с утилитами

Табл. 3-2.  (окончание)

Комбинация

Описание

Space

Приостановить или возобновить автоматическое 
обновление

Del

Уничтожить выбранный процесс

Shift+Del

Уничтожить дерево процессов (выбранный процесс 
с потомками)

Fl

Показать справку

F5

Обновить данные однократно

SIN_ch_03.indd   98

27.12.2011   14:14:34


background image

Глава 4

Process Monitor

Однажды моего соавтора по книге «Windows Internals» («Внутреннее 
устройство Microsoft Windows», Русская редакция, 2008) Дэвида Соломона 
пригласили в одну из крупнейших фирм — производителей оборудования, 
работающего под Windows. Цель — провести мастер-класс по внутренне-
му устройству Windows для разработчиков программ, функционирующих 
в режиме ядра. За пару месяцев до мастер-класса представители компании 
попросили Дэвида использовать на занятиях утилиту-анализатор режима 
ядра, с которой работают специалисты этой фирмы на ее оборудовании. 
Дэвид решил, что без труда освоит любую программу этой фирмы, к тому 
же это позволит ему неплохо заработать, поэтому он согласился.

Разумеется, Дэвид откладывал знакомство с программой до последнего, 

и запустил ее только в самолете, посмотрев на ноутбуке несколько серий 
«Звездного пути». Как оказалось, только для того чтобы прочесть сообще-
ние об ошибке: «Данная программа не работает без устройства той_самой_
фирмы
». А в ноутбуке Дэвида этого устройства просто не было, и он пришел 
в полное замешательство. Неужели завтра утром ему придется признаться, 
что этот казус обнаружился лишь несколько часов назад?..

Дэвид запаниковал, его прошиб холодный пот, и он попросил стюардессу 

принести ему выпивки (а точнее, добавки, так как начал он уже во время 
просмотра «Звездного пути»). Вернувшись спустя несколько минут, стюар-
десса заметила, что Дэвид сильно не в своей тарелке, и поинтересовалась, не 
может ли она помочь ему. Приунывший Дэвид, даже не надеясь на то, что она 
поймет его, кивнул на дисплей и объяснил свою проблему. Она задумалась 
лишь на секунду и тут же спросила: «А Process Monitor вы пробовали?».

Мораль этой легенды такова: Process Monitor (Procmon) — это главная 

утилита, которую многие пользователи используют для диагностики про-
блем с компьютером. Зачастую Procmon является последним средством для 
устранения неполадок, поскольку в большинстве случаев он точно опреде-
ляет их причины. Большинство случаев, о которых рассказывают пользо-
ватели наших утилит, можно вкратце сформулировать так: «У нас была 
какая-то непонятная проблема, но мы запустили Procmon и сразу нашли ее 
причину».

SIN_ch_04.indd   99

27.12.2011   14:16:21


background image

100  Часть 

II   

Работа с утилитами

Программа Process Explorer (см. главу 3) представляет собой прекрасный 

инструмент наблюдения за процессами в системе. Она оказывает нагрузку 
на ЦП, выделение памяти, DLL, загруженные процессами, используемые 
системные объекты, контексты безопасности процессов и пр., и пр. Procmon 
же отображает активность системы с другой точки зрения. Если Procexp, по 
сути, дает статический «рентгеновский снимок» системы, то Procmon — это 
«кардиограф», записывающий подробную информацию об активности рее-
стра, файлов, процессов/потоков и сети. Procexp сообщает вам, что тот или 
иной процесс открыл описатель определенного файла, а Procmon показыва-
ет, какие низкоуровневые операции выполняет процесс над этим файлом, 
когда он это делал, сколько времени потратил, и успешно ли они заверши-
лись, а если нет, то почему, а также отображает полный стек вызовов (трас-
сировку — путь к операции) и многое другое.

Поскольку за короткое время могут выполняться миллионы операций, 

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

Утилита Procmon, созданная в 2006 году, заменила собой два исходных 

инструмента Sysinternals — Filemon и Regmon. Filemon собирал информа-
цию об активности файловой системы, а Regmon — об активности реестра. 
Недостатком обоих инструментов было замедление работы при сборе боль-
ших объемов информации, а их возможности фильтрации были ограниче-
ны. Кроме того, при работе фильтра во время сбора данных невозможно 
было захватывать отфильтрованные данные, так как они тут же удалялись. 
Procmon был написан с нуля, в нем реализовано унифицированное пред-
ставление активности файлов, реестра, процессов, потоков и других сущно-
стей. Новый инструмент способен регистрировать гораздо больше подроб-
ностей и эффективнее масштабируется, чем Filemon и Regmon, но при этом 
куда меньше замедляет работу системы. Кроме того, Procmon поддерживает 
журнал загрузки, безопасную фильтрацию и форматирование журнала с со-
хранением всех собранных данных, API-функции для включения в трасси-
ровку вывода отладки и многое другое. Так что если вы по привычке все еще 
пользуетесь Filemon и Regmon, забудьте про них! Filemon и Regmon все еще 
доступны на сайте Sysinternals для поддержки унаследованных систем, не 
соответствующих минимальным требованиям для Procmon, но, поскольку 
тогдашние версии Windows теперь не выпускаются, то и Filemon и Regmon 
больше не обновляются.

Procmon работает с Windows XP и выше с архитектурой x86 и x64 , а так-

же с Windows Server версии 2003 и выше.

SIN_ch_04.indd   100

27.12.2011   14:16:23


background image

Process Monitor 

Глава 4  101 

Начало работы с Procmon

Поскольку Procmon загружает драйвер ядра, он требует наличия прав адми-
нистратора для захвата событий, включая привилегию загружать и выгру-
жать драйверы устройств. В Windows Vista и более поздних версиях Windows 
автоматически запрашивает повышение прав UAC при запуске Procmon из 
процесса без повышенных привилегий, например, из Проводника. В Windows 
XP или Windows Server 2003 необходимо войти в систему в качестве адми-
нистратора или использовать команду Запуск от имени с учетной записью 
администратора. Более подробную информацию см. в разделе «Права адми-
нистратора» главы 2. 

 Примечание 

Procmon не требует прав администратора, чтобы открыть существую-

щий файл журнала с помощью параметра командной строки /OpenLog.

Самый простой способ начать работу с Procmon — запустить его. Появится 

окно Process Monitor, как на рис. 4-1, и сразу начнется вывод данных. Каждая 
строка таблицы представляет одно низкоуровневое событие, произошедшее 
в вашей системе. Можно настроить, какие столбцы и в каком порядке будут 
в таблице, по умолчанию выводятся время, имя и ID процесса, операция (со 
значком класса, например, операция файловой системы, реестра и т. д.), путь 
к объекту, в котором выполняется операция (если он есть), ее результат и до-
полнительные сведения. 

Рис. 4-1. Process 

Monitor

Строка состояния показывает, помимо прочего, число захваченных собы-

тий. Это число будет быстро расти, пока вы не выключите захват событий. 
Для включения или выключения захвата нажмите клавиши Ctrl + E или 
щелкните значок Capture (Захват) на панели инструментов.

Для удаления всех захваченных событий нажмите клавиши Ctrk+X или 

щелкните значок Clear (Очистить) на панели инструментов.

События добавляются в конец списка в хронологическом порядке. Функция 

Auto Scroll (Автопрокрутка) (по умолчанию отключена) выполняет прокрутку 
списка по мере добавления событий, так чтобы были видны последние добав-
ления. Для включения и выключения автопрокрутки нажмите клавиши Ctrl+A 
или щелкните соответствующий значок на панели инструментов.

SIN_ch_04.indd   101

27.12.2011   14:16:23