Process Explorer vs Process Hacker

    Многим людям рано или поздно приходит в голову мысль, что стандартный менеджер процессов Windows весьма слаб по функционалу. Начинаются поиски альтернативы, которые в основном тут же и заканчиваются при обнаружении Process Explorer от Марка Руссиновича. Вот и Хабр даже советует эту программу.

    Что тут можно сказать? Конечно, Process Explorer — это хорошая программа. Однако, не идеал. Именно в пику её неидеальности существует не только бесплатная, но и свободная альтернатива — Process Hacker. А теперь мы детально и по пунктам рассмотрим, почему Process Hacker не просто «чуть-чуть лучше», а лучше на порядок, лучше на столько, что переводит программу для продвинутого пользователя в класс инструмента системного программиста или администратора.

    Термины


    Ради сокращения количеств букв я буду называть Process Explorer (от Марка Руссиновича) — PE, а Process Hacker (от комьюнити) — PH.

    Opensource


    Я не яростный фанат свободного ПО: если проприетарная программа делает, что мне нужно, а свободная — нет, то первая лучше. Однако при прочих равных (а в данном случае PH точно не хуже) свободное ПО даёт больше пространства для манёвра. PH живёт на Sourceforge со всеми вытекающими преимуществами, весьма живым форумом и частыми релизами.

    Установка


    Обе программы удобнее всего использовать в виде 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


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

    Главное окно


    Интерфейсы программ выглядят достаточно схоже: дерево процессов и там и там.



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

    Раскраска

    1. Раскраска есть в обоих программах, но если в PE она по столбикам, то в PH — по строкам. В итоге в PH удобно взглядом проследить по горизонтали все данные одного процесса, а в PE — по вертикали использование какого-нибудь ресурса разными процессами. (upd: в комментариях подсказывают, что в PE это настраивается)
    2. Настройка раскраски есть и там и там, но если PE настраиваются цвета для 8 типов процессов, то в PH — для 16 (плюс некоторые опции типа длительности подсветки процесса).



    Выбор столбиков с информацией о процессе

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

    Фильтр по имени процесса

    Нет в PE
    Есть в PH, поддерживает ключевые слова для поиска определённых типов процессов



    Диаграммы производительности на тулбаре

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



    Подписей нет, осей нет, при беглом взгляде не понятно ничего. Для получения значимой информации всё-равно нужно открывать окно системной информации, а вот там уже PH впереди по информативности.

    «Run as...»


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


    Окно «Find Handles or DLLs»


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



    Поиск окна


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


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

    Возможности контекстного меню процесса





    Не будем останавливаться на общих возможностях, взглянем только на то, что есть в PH и нет в PE:
    • Открытие места хранения бинарника по Ctrl+Enter (в PE тоже есть, но на 2 клика дальше — в окне свойств процесса)
    • Отправка экзешника на Virustotal
    • Detach from debugger — полезно, когда к процессу прицеплена Visual Studio, которая «подвисла» и её хочется убить без закрытия процесса
    • Информационные окна по процессу: GDI Handles, Heaps, Unloaded Modules, WS Watch, Windows
    • Terminator — возможность убить процесс 17-ю разными способами. Интересно понаблюдать за корректностью завершения своей программы.
    • Inject DLLs: крайне полезная штука при тестировании инжектинга всяких хуков. Фактически позволяет на этапе тестирования обойтись без собственного инжектора, писать только саму инжектируемую библиотеку. Для проверки теорий и исследования — крайне полезная вещь.


    Сервисы и драйвера


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



    На специальной вкладке Services главного окна можно просматривать список процессов и драйверов, их статус, можно их останавливать, запускать, удалять, просматривать и менять их свойства.
    Крайне полезный инструмент для системного программиста под Windows (особенно совместно с возможностью включить для иконки в трее нотификации об изменении в списке сервисов). А еще в меню Tools можно создать новый сервис.

    Сетевая и дисковая активность процессов


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

    Модульная архитектура


    PE цельный и неделимый
    PH модульный, поддерживает плагины (и значительная часть описанного здесь функционала именно плагинами и реализована).



    Окно информации о процессе


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



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

    Окно информации о DLL


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



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

    Минутка здоровой критики


    Не будем впадать в идолопоклонничество и посмотрим что в PE лучше:
    • есть нижняя панель, где могут отображаться DLLки или хэндлы, если интересует только эта информация — в PE до неё на один клик меньше
    • можно сохранять и загружать набор колонок с информацией о процессах, полезно при периодической работе над разными типами ПО. PH тоже позволяет это делать, но только через параметры командной строки, что не так удобно
    • в окне информации о процессе есть вкладка Strings, позволяющая просмотреть используемые в процессе строки. PH тоже позволяет получить эту информацию, но не столь наглядно (блоки памяти на вкладке Memory)


    Выводы


    Как вы и сами могли заметить, PH — этот тот случай когда в общем и так неплохую программу взяли и сделали ещё лучше, ещё дружелюбнее и ещё полезнее. Направление развития PH задавалось сообществом, детские баги быстро фиксились, упор делался на полезность инструмента не только обычному пользователю, но и программисту с сисадмином.

    Утилита полезная, пользуйтесь на здоровье.

    Инфопульс Украина

    182,00

    Creating Value, Delivering Excellence

    Поделиться публикацией
    Комментарии 64
      0
      А как PH работает с драйверами? Собственный драйвер в систему ставит?
        0
        Да, для 64-битных версий драйвер подписывается сертификатом ReactOS
          0
          А PE драйвера для работы использует?
            +5
            Да. При запуске распаковывает из себя драйвер (он там хранится как бинарный ресурс), на лету устанавливает его и запускает. Марк Руссинович в своём блоге как-то рассказывал о том, как он это реализовал.
              0
              Вот блин, век живи — век учись.
        +5
        В PH есть очень нужный пункт меню «Run as...». С тех пор как в контекстном меню проводника Windows этот пункт исчез, уступив место «Run as administrator» его очень не хватало.

        Справедливости ради, если контекстное меню вызывать с зажатым шифтом, то такой пункт есть.
        PH может заменять стандартный диспетчер задач?
          –2
          Win+R
            0
            да может, когда устанавливал, он меня спросил об этом (можно галочку воткнуть)
              +1
              Благодарю за [Shift] + [RMB], даже не подозревал об этом.
                0
                По поводу «контекстного меню с зажатым шифтом» — вот только что обнаружил, что PH умеет запускать программы с правами Системы, контекстное меню с зажатым шифтом — не умеет.
                +6
                «Именно в пику её неидеальности». В пику = назло, наперекор. Вряд ли авторы PH писали кому-то назло или наперекор.

                А еще в PE 15 букв, а в PH только 13!

                Налицо оптимизация :)
                  +1
                  На главной странице проекта PH есть однозначное противопоставление с PE, посмотрите, там внизу.
                    +1
                    Выставлять достоинства своего продукта на фоне недостатков чужого не есть писать «назло и наперекор». У выражения «в пику» есть еще значение «досадить». Цель то достигнута или как? Досадили Русиновичу или кому там?
                      0
                      Одна из целей существования этой программы, как мне кажется, показать Руссиновичу что зря PE был сделан закрытым и нерасширяемым, и что так может получиться лучше. С этой точки зрения — да, досадили.
                        +4
                        Прально, пусть рыдает от осознания.
                  0
                  Оу, а я думал, это одна и та же программа, на слуху висела, но не так часто приходилось пользоваться, но когда последний раз понадобилась — нагуглил PH, понравилось.
                    +4
                    Про диагрммы в PE:
                    Подписей нет, осей нет, при беглом взгляде не понятно ничего. Для получения значимой информации всё-равно нужно открывать окно системной информации, а вот там уже PH впереди по информативности.

                    Если навести курсор, можно увидеть точные и более интересные показатели в нужный момент времени.


                    P.S. У меня, например, в PE раскраска по строкам. То ли более старая версия, то ли я перенастроил.
                      0
                      Если знаете как перенастроить — расскажите, добавлю в статью. Я не нашел.
                        0
                        View -> Show Column Heatmaps. Но это не просто вертикальная раскраска, а подсветка «горячих зон»: у процессов с повышенным потреблением процессора/памяти в соответствующей колонке цвет фона будет ярче.
                          0
                          поправил
                      +3
                      А что вы скажете про AnVir Task Manager?
                        +5
                        тихий ужас
                          +1
                          присоединяюсь к вопросу, ПХ умеет мониторить автозапуск, и насколько детально?
                            +5
                            AnVir спас мой компьютер от такого кол-ва говна в автозагрузке, что я готов его держать только за это. Причем чем авторитетней софт тем он чаще лезет в автозагрузку, невелируя демонстрацией галочек, желаю ли я этого или нет.
                              +3
                              Вы хотели сказать, «манкируя установкой галочек»?
                              0
                              Не знал об этой программе, вот только что посмотрел. Я так понимаю, она позиционирует себя слегка шире — как твикер и защитник от вирусов. Этих функций у PE и PH нет (а обычным пользователям они могут быть полезны). С другой стороны у AnVir Task Manager я не увидел инструментов, полезных программисту: инжектинг длл, просмотр имортируемых\экспортируемых функций, уведомления о старте драйверов, просмотр колстека для каждого потока, работа с дебаггером. Ну и плюс — закрытость, 50 баксов за полную версию, нет плагинов (и возможности их делать).

                              Обычному пользователю AnVir Task Manager вполне может подойти. Программисту\админу я всё-же рекомендовал бы PH.
                                0
                                AnVir — я бы сказал, что это швейцарский нож, сделанный к Китае. Очень много разнообразного функционала, но он местами кривоват, а порой ещё и тормознут. Увы. У меня это приложение стартует секунд пять, а если висит в трее через некоторое время имеет особенность «слегка подвешивать» рабочий WinXP, что крайне меня огорчало — пришлось отказаться. Также смущает, что уже появилась Win8 (даже Win8.1 preview), а встроенный твикер до сих пор рассчитан на WinXP.
                                Моё мнение — идея крайне хороша, но реализация не лишена недостатков. При том для меня — несовместимых с применением этого ПО.
                                  +1
                                  Отличная программа.
                                    +5
                                    От того же Руссиновича есть Autoruns, он достаточно детально разбирает автозагрузку, не требует установки и мало весит. Умеет показывать автозагрузку не запущенного в данной момент пользователя, что спасает от Винлокеров.
                                    а вот интересный вариант после вычищания автозагрузки — это программы типа BootVis, показывающие время загрузки каждого компонента при старте системы. Плюс порядок загрузки в графическом режиме.
                                      +1
                                      Анвир скорее конкурент для System Explorer
                                      Ну и еще могу посоветовать AVZ, очень полезная вещь, особенно когда вручную надо выковырять зловредов.
                                      0
                                      --удалено--
                                        +1
                                        PH не закрывается по ESC, что грустно
                                        PH у меня до сих пор не выделяет запакованные бинарники, хотя в цветах настроено, РЕ — выделяет
                                        А ещё когда я тестил РН он отказывался убивать некоторые процессы, хотя РЕ с этим справлялся.

                                        Да, и шрифт в PH всё же настраивается.
                                          0
                                          PH не закрывается по ESC, что грустно

                                          Options->Hide when closed. Странное название настройки, но если ее включить, то по esc сворачивается
                                            0
                                            Про шрифт, спасибо, убрал.
                                              0
                                              PH у меня до сих пор не выделяет запакованные бинарники, хотя в цветах настроено, РЕ — выделяет

                                              Оно отдельно включается. Видимо, на производительность влияет.
                                              +2
                                              До сих пор не перехожу на РН только потому, что в нем в процессах нельзя добавить столбец графика использования диска. У РЕ есть и график диска и ЦПУ а у РН только ЦПУ.
                                                0
                                                >в процессах нельзя добавить столбец графика использования диска
                                                А как это выглядит в PE?
                                                  0
                                                  Выглядит вот так. Помогает быстро и наглядно узнать кто ест диск.
                                                  image
                                                  0
                                                  Если я вас правильно понял, то вы говорите о столбце I/O History — он есть в обоих программах.
                                                    0
                                                    Вы поняли правильно. Только я в РН так и не нашел такой возможности. Ткните пожалуйста носом в скрин или объясните пошагово как включить.
                                                    Спасибо.
                                                      +2
                                                      image
                                                        0
                                                        Спасибо огромное говорю я вам одновременно посыпая себе голову пеплом своей невнимательности. Все это время я говорил о System Explorer. Теперь точно поставлю себе РН.
                                                  +12
                                                  Process Hacker не просто «чуть-чуть лучше», а лучше на порядок, лучше на столько, что переводит программу для продвинутого пользователя в класс инструмента системного программиста или администратора.

                                                  Ну и где?
                                                  PE требует прочитать и согласиться с лицензией.
                                                  PH просто запускается и работает.

                                                  PE не умеет проверять наличие обновлений
                                                  PH умеет проверять наличие обновлений

                                                  лично мне красный цвет на чёрном фоне (у PH) более заметен, чем светло-зелёный на белом (у PE).

                                                  У PE можно включить до 7 иконок в трее с разной полезной информацией
                                                  У PH можно включить до 8 иконок в трее с разной полезной информацией

                                                  в PE тоже есть, но на 2 клика дальше


                                                  И все сравнение в таком духе.

                                                  Вы в курсе что значит «на порядок»?
                                                  notepad++ на порядок лучше чем notepad.exe

                                                  A ph лишь чуть-чуть удобнее (возможно) чем pe.

                                                  И почему вы сравниваете программу которой умеет пользоватся, с программой которой не умеете?
                                                  Это как «VB лучше явы, потому что на VB я могу написать змейку, а на явe только Hallo Word!»

                                                  Фильтр по имени процесса

                                                  Нет в PE

                                                  А «Find Handles or DLL» чем, не устраивает?

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

                                                    И вот почему:

                                                    -инжектинг дллок
                                                    -отвязка дебаггера
                                                    -списки импортируемых и экспортируемых функций
                                                    -тесты на убийство разными способами
                                                    -удобство при разработке драйверов и сервисов
                                                    -PH не врёт о дескрипторах безопасности (в статье ссылка с деталями)
                                                    -возможность поправить код самой тулзы или написать плагин
                                                    -возможность использовать в скриптах благодаря параметрам командной строки

                                                    Это не «чуть-чуть удобнее», это программа, с которой может работать системный программист. С PE — не может.

                                                    А «Find Handles or DLL» — это вообще другая функциональность, это поиск хэндлов и дллок внутри процессов, а не фильтр процессов.
                                                      +1
                                                      И вот почему:


                                                      Ну да, так гораздо понятнее.
                                                      А то цвета и количество кликов сравнивалось.

                                                      Find Handles or DLL — если мне нужно найти процесс FF, я пишу там «Firefox» и он мне их находит. Хотя я видимо фильтрование поиск перепутал.

                                                      А вообще просто у Руссиновича есть еще однa утилитка(кроме прочих) — ProcessMonitor, и вот она позволяет фильтровать процессы и в том числе по эвентам.
                                                    0
                                                    Сейчас качнул PH, когда-то давно я видел его уже.

                                                    Отмечу еще момент неприятный:
                                                    у PE одна exe-шка, можно запускать прямо из архива, PH же надо сперва куда-то распаковать.
                                                      +2
                                                      справедливости ради — запуск из архива — это тоже распаковка, в Temp, возможно без дальнейшей уборки мусора за автоматической распаковкой.
                                                      Но возможность держать большинство утилит Руссиновича в одной папке в виде одного файла — бесценно.
                                                      +2
                                                      Вообще не освещен вопрос по способам энумерации процессов в системе. Насколько сопоставимы возможности PE и PH в плане нахождения скрытых процессов и терминейта защищенных?
                                                        0
                                                        PE разве такое вообще делает? я всегда для этого gmer использовал
                                                          0
                                                          а как вы думаете зачем там драйвер в PE?
                                                        +4
                                                        У PE можно включить до 7 иконок в трее с разной полезной информацией
                                                        У PH можно включить до 8 иконок в трее с разной полезной информацией

                                                        Мне вот интересно, много ли народу юзают хотя бы 4-5 иконок? вы представляете себе такой срач в трее из иконок? да он до квикланча дотянется.

                                                        З.Ы.: предпочитаю чтобы все было минималистично, эргономично и выглядело органично на рабочем столе и ничего не отвлекало.
                                                          0
                                                          И зачем пустой рабочий стол тому, кто работает с такой программой?
                                                          0
                                                          Скачал, запустил. Останавливаю/запускаю службы, но никаких сообщений не показывается. Это где-то настраивается?
                                                            0
                                                            Нашёл. Правой кнопкой по иконке в трее -> Notifications.
                                                            +1
                                                            А как снова включить tree view в PH после сортировки?
                                                            И в качестве минуса можно поставить, что нет графика использования ОП и диска в главном окне.
                                                              0
                                                              А как снова включить tree view в PH после сортировки?

                                                              Отсортировать по этому же столбцу ещё 2 раза (по кругу переключается сортировка вверх/вниз/выкл).
                                                              +1
                                                              Для меня решающим преимуществом PH стала функция отображения реальной информации об использовании диска. Частая ситуация — 0% использования CPU, 100% загрузка диска «непонятно кем», компьютер захлебывается и умирает. PH показывает таки кто виноват. System Monitor в Vista+ — не показывает.
                                                                0
                                                                Прошу прощения, немного не по теме, но что такое immersive process? Гугл не помог.
                                                                  0
                                                                  Это откуда такое слово?
                                                                    0
                                                                    Со скриншота с описанием раскраски. Что странно, у меня immersive — explorer.exe
                                                                    +1
                                                                    А, я так понял это вот: msdn.microsoft.com/en-us/library/windows/desktop/hh448383.aspx
                                                                    Т.е. «погруженный в песочницу», т.е. процесс Метро-приложения
                                                                      0
                                                                      Видимо, это приложение не из песочницы, запущенное в метро режиме, как explorer или chrome
                                                                        0
                                                                        explorer или chrome — как раз в песочнице и бегут. В точно такой же как и метро-приложения (ну вернее в чуть другой по меткам, но на том же пониженном integrity level)
                                                                    +2
                                                                    Пользую оба давно и активно. Мои наблюдения:
                                                                    1) Без PH и без PE (а также без полного пакета SysInternals и полного пакета Nirsoft) жить и работать под виндой бывает довольно грустно и неэффективно.
                                                                    2) PH — это богатый интерактивный инструмент, а PE — больше информационная доска (хотя киллер-фича «найти и закрыть этот чёртов хэндл!» в нем и так хороша :) ).
                                                                    3) На замену taskmgr годится только PE. К сожалению. PH проигрывает по эргономике в каждодневном использовании. Даже на Ваших скриншотах видно — у PE все элементы управления аккуратно раскрашены, подогнаны, расставлены акселераторы на кнопках и т.д.

                                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                    Самое читаемое