- PVSM.RU - https://www.pvsm.ru -
Многим людям рано или поздно приходит в голову мысль, что стандартный менеджер процессов Windows весьма слаб по функционалу. Начинаются поиски альтернативы, которые в основном тут же и заканчиваются при обнаружении Process Explorer [1] от Марка Руссиновича. Вот и Хабр даже советует [2] эту программу.
Что тут можно сказать? Конечно, Process Explorer — это хорошая программа. Однако, не идеал. Именно в пику её неидеальности существует не только бесплатная, но и свободная альтернатива — Process Hacker [3]. А теперь мы детально и по пунктам рассмотрим, почему Process Hacker не просто «чуть-чуть лучше», а лучше на порядок, лучше на столько, что переводит программу для продвинутого пользователя в класс инструмента системного программиста или администратора.
Ради сокращения количеств букв я буду называть Process Explorer (от Марка Руссиновича) — PE, а Process Hacker (от комьюнити) — PH.
Я не яростный фанат свободного ПО: если проприетарная программа делает, что мне нужно, а свободная — нет, то первая лучше. Однако при прочих равных (а в данном случае PH точно не хуже) свободное ПО даёт больше пространства для манёвра. PH живёт на Sourceforge со всеми вытекающими преимуществами, весьма живым форумом [4] и частыми релизами.
Обе программы удобнее всего использовать в виде portable-версий.
PE требует прочитать и согласиться с лицензией.
PH просто запускается и работает.
PE не умеет проверять наличие обновлений
PH умеет проверять наличие обновлений

Есть у обеих программ. По-дефолту PE показывает там только загрузку CPU в User Mode. По-дефолту PH показывает загрузку CPU и в UserMode и в Kernel Mode.
О стиле цветовой схемы можно спорить, но лично мне красный цвет на чёрном фоне (у PH) более заметен, чем светло-зелёный на белом (у PE).

У PE можно включить до 7 иконок в трее с разной полезной информацией
У PH можно включить до 8 иконок в трее с разной полезной информацией
Абсолютно незаменимая вещь в PH — уведомления о стартеостановкеустановке сервисов и драйверов. При разработке такого ПО цикл «установить, запустить, проверить, остановить, удалить» приходится делать по 20 раз на день — и с PH сразу видишь, удачно идёт дело или нет, нет нужды лезть в «Службы» или «Диспетчер устройств», нажимать там «Обновить», ждать изменений.

Обе программы позволяют через контекстное меню иконки в трее открывать главное окно, перезагружатьвыключать компьютер, открывать окно системной информации. Но PH ещё позволяет управлять вышеупомянутыми нотификациями и десятком процессов (из топа загрузки CPU).

Окна System Information в обеих программах очень похожи и по функционалу и по дизайну. PE разбивает информацию по вкладкам, PH — открывает вкладки по клику на диаграммах в главном окне. PH показывает чуть-чуть больше информации (название процессора, общий объём физической памяти и т.д.).
Интерфейсы программ выглядят достаточно схоже: дерево процессов и там и там.

Отметим, однако, нюансы.

Примерно равное количество параметров у обеих программ. У PE они распределены по группам, у PH — по алфавиту. В итоге если вы знаете точное название параметра — его быстрее найти в PH, если только какой области он касается (память, диск, сеть) — быстрее в PE. Кроме того надо признать, что PE больше знает о внутренних параметрах .NET-процессов (PH тоже идёт в этом направлении, есть специальный плагин для счётчиков .NET)
Нет в PE
Есть в PH, поддерживает ключевые слова [5] для поиска определённых типов процессов

Есть в PE
Нет в PH
Это тот редкий случай, когда что-то есть в PE и нет в PH. Давайте, однако, посмотрим как они выглядят:

Подписей нет, осей нет, при беглом взгляде не понятно ничего. Для получения значимой информации всё-равно нужно открывать окно системной информации, а вот там уже PH впереди по информативности.
В PH есть очень нужный пункт меню «Run as...». С тех пор как в контекстном меню проводника Windows этот пункт исчез, уступив место «Run as administrator» его очень не хватало.
В PE этого пункта нет.

Обратите внимание, в PE здесь есть кнопки «Search» и «Cancel». В PH — только Find. Это потому, что PE может искать ну о-о-о-очень долго и иногда поиск правда надо отменять. PH ищет просто мгновенно. Ему кнопка «Cancel» не нужна.

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

Справедливости ради надо признать что иконка у PE лучше (похожа на соответствующую иконку в Spy++)

Не будем останавливаться на общих возможностях, взглянем только на то, что есть в PH и нет в PE:
PE считает, что его дело только обычные процессы
PH является крайне удобным инструментом работы с сервисами и драйверами.

На специальной вкладке Services главного окна можно просматривать список процессов и драйверов, их статус, можно их останавливать, запускать, удалять, просматривать и менять их свойства.
Крайне полезный инструмент для системного программиста под Windows (особенно совместно с возможностью включить для иконки в трее нотификации об изменении в списке сервисов). А еще в меню Tools можно создать новый сервис.
PE позволяет просмотреть параметры сетевой и дисковой активности процесса, позволяет посмотреть общую производительность дисковой и сетевой подсистем.
PH кроме вышеуказанного имеет в главном окне две крайне полезные вкладки «Network» и «Disk», показывающие общую сетевую и дисковую активность процессов.
Справедливости ради нужно признать, что в современных версиях Windows нечто подобное (хотя и не так удобное) показывает штатный инструмент Resource Monitor.
PE цельный и неделимый
PH модульный, поддерживает плагины (и значительная часть описанного здесь функционала именно плагинами и реализована).

Группировка информации по вкладкам в программам слегка отличается, сравнивать «в лоб» трудно.

В целом можно сказать, что объём предоставляемой информации и удобство пользования примерно одинаковы. Однако есть архиважная деталь: PE в этом окне иногда врёт. Причём, как я предполагаю, не из-за багов, а по маркетинговым причинам (а уж это вообще никуда не годится). Детально этот вопрос я разбирал вот в этом топике [6], кому интересно — можете ознакомиться.
Обе программы позволяют просмотреть список DLL в адресном пространстве процесса. PE показывает их в нижней части главного окна (при включении соответствующей панели), PH показывает их во вкладке в окне информации о процессе. При двойном клике на библиотеке и там и там отображается информация о ней.

И вот здесь мы снова видим почему PE является просто прикладной утилитой для продвинутого юзера, а PH — инструментом программиста. Если PE показывает только общую информацию о библиотеке и список строк в ней, то PH показывает полный список импортируемых и экспортируемых функций. Для этого больше не нужны отдельные дизассемблеры!
Не будем впадать в идолопоклонничество и посмотрим что в PE лучше:
Как вы и сами могли заметить, PH — этот тот случай когда в общем и так неплохую программу взяли и сделали ещё лучше, ещё дружелюбнее и ещё полезнее. Направление развития PH задавалось сообществом, детские баги быстро фиксились, упор делался на полезность инструмента не только обычному пользователю, но и программисту с сисадмином.
Утилита полезная, пользуйтесь на здоровье.
Автор: tangro
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/windows/44349
Ссылки в тексте:
[1] Process Explorer: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
[2] советует: http://habrahabr.ru/post/108536/
[3] Process Hacker: http://processhacker.sourceforge.net/
[4] форумом: http://processhacker.sourceforge.net/forums/index.php?sid=11772dff53b7a67f7ce86ffb5cea001b
[5] поддерживает ключевые слова: http://processhacker.sourceforge.net/forums/viewtopic.php?p=3563#p3563
[6] в этом топике: http://habrahabr.ru/company/infopulse/blog/186812/
[7] параметры командной строки: http://processhacker.sourceforge.net/forums/viewtopic.php?p=207#p207
[8] Источник: http://habrahabr.ru/post/195074/
Нажмите здесь для печати.