Диспетчер процессов windows xp. Процессы в Windows — где посмотреть, описание стандартных

Введение

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

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

Благодаря своим уникальным возможностям, программа Process Explorer полезна для разрешения проблем с версиями библиотек DLL и утечками дескрипторов, а также для понимания принципов работы ОС Windows и приложений.


Установка

Запустите программу Process Explorer (procexp.exe).

В файле справки приводится информация о доступных операциях и об использовании программы. При возникновении вопросов или проблем посетите форум компании Sysinternals, посвященный программе Process Explorer.

Дополнительные материалы

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

    программа для просмотра информации об открытых дескрипторах, выполняется в командной строке;

    программа для просмотра информации о загруженных библиотеках DLL, выполняется в командной строке;

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

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

Статьи в базе знаний Майкрософт, посвященные
программе Process Explorer
В приведенных ниже статьях базы знаний Майкрософт упоминается об использовании программы Process Explorer для диагностики или устранения различных ошибок:
  • 319034: FIX: Утечка дескрипторов потока в методе PrintReport отчетов Data Report
  • 242131: Как отобразить список процессов, имеющих открытые файлы
  • 216368: PRB: Нарушение доступа во время установки приложения, если файл занят
  • 166112: PRB: Возникновение конфликта со свойством EOF при использовании директивы #import для объектов данных ActiveX
  • 301357: PRB: Библиотеки DLL не выгружаются после вызова CoFreeUnusedLibraries
  • 247957: SAMPLE: Использование программы DUPS.exe для разрешения проблем совместимости библиотек DLL
  • 313735: XCON: Утечка памяти в процессе MTA при большом количестве открытых дескрипторов
  • 276525: Компьютер перестает отвечать при отслеживании открытых дескрипторов

Установка

Просто запустите программу Process Explorer (procexp.exe).

В файле справки приводится информация об использовании программы Process Explorer и о доступных операциях. При возникновении вопросов или проблем посетите

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

Но есть и исключения. Взять, к примеру, стандартный . Несмотря на то, что выводимая им информация о процессах вполне может быть распечатана, привычной команды “Распечатать” вы в нем не найдете. Но как быть, если вам вдруг понадобилось распечатать список текущих процессов? Не переписывать же их один за другим в текстовый файл!

В действительности вывести список процессов, служб и прочей системной информации в файл (на печать) очень просто. Самый простой способ – воспользоваться специальным программным обеспечением, например, хорошо известной каждому системному администратору утилитой Procexp или комплексным приложением AnVir Task Manager.

Но можно обойтись и без всякого стороннего программного обеспечения. Все что нам нужно, так это знание двух-трех команд выполняемых в командной строке или ее усовершенствованном аналоге PowerShell.

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

tasklist > D:processes.txt



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

chcp 1251
tasklist > D:processes.txt






Команда tasklist имеет множество параметров и фильтров позволяющих сортировать выводимые данные. Для получения подробной справки в командной строке следует использовать команду tasklist /?

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

get-process | out-file D:process.txt






В данном примере get-process получает список процессов, а out-file выводит его по указанному пути. Как вы можете видеть, выводимые данные с использованием PowerShell отличаются куда большей информативностью. Если вместо out-file использовать команду out-printer, можно вывести данные непосредственно на принтер.

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

Процессы в Windows - где посмотреть, описание стандартных

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

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

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

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

Для того чтобы увидеть весь список активных процессов необходимо открыть «Диспетчер задач» (Task Manager). Сделать это можно тремя распространенными способами:

Комбинация клавиш ctrl + alt + del
- комбинация клавиш ctrl +shift + esc
или
- правый клик мыши на панели задач — пункт «Диспетчер задач».

Находясь в окне диспетчера, выберите вкладку «Процессы».


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

1. Имя образа — название процесса
2. Пользователь — от какой учетной записи запущен процесс
3. ЦП — показывает загрузку процессора в процентном соотношении
4. Память — выделенный объем оперативной памяти
5. Описание — краткое описание того какая программа, служба или сервис инициирует данный процесс.

В самом низу окна показывается суммарное количество активных процессов, общая загрузка процессора и оперативной памяти в процентах.

Чтобы отключить ненужный процесс, необходимо выбрать один из них и нажать кнопку «Завершить процесс». Однако простое «Завершение процесса» просто отключит его до следующей перезагрузки Windows. Поэтому, если вы хотите навсегда избавиться от него, необходимо отключить его запуск в самом приложении, которое запускает этот процесс, или отключить активирующую его службу, или убрать из автозагрузки, а может и вовсе удалить ненужное приложение.

Если для получения информации о процессе вам будет недостаточно стандартных столбцов, можно добавить дополнительные. Для этого в главном меню Диспетчера задач нажмите «Вид» и в открывшемся меню выберите пункт «Выбрать/Добавить столбцы».

Выставьте галочки напротив пунктов «ИД процесса (PID)» и «Путь к образу». Нажмите «Ок».

Теперь в столбце ««Путь к образу» вы можете видеть расположение файла, который инициирует запущенный процесс.

А информация столбца «ИД процесса (PID)» будет полезна, если вам понадобится узнать, например, какая служба запускает процесс «Svchost.exe».

Заглянув немного вперед, почему мы выбрали именно его в качестве примера. Это важный системный процесс и нужен для включения и управления различных служб. Путаница у многих пользователей с этим процессом возникает от того что одновременно могут быть запущены несколько его экземпляров, но все от разных служб. И для того чтобы понять, какая именно служба относится к отдельно взятому процессу «Svchost.exe», нам и понадобится его числовой идентификатор — PID. Запомнив число, указанное в этом столбце переходим в «Диспетчере Задач» на вкладку «Службы».
Находясь в этом окне, нажмите левой кнопкой мыщи по заголовку столбца «ИД процесса». Список отсортируется и вы без труда сможете найти процесс по PID, посмотрев его описание в соответствующем столбце.


Сведений в этом окне конечно очень мало, однако позволяет примерно понять, какая именно служба запустила «Svchost.exe». Мы уже упоминали этот процесс в статье « »

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

Со временем вы научитесь легко опознавать любые процессы. Для того, чтобы немного облегчить вам эту задачу, ниже приводим список наиболее типичных программных и системных процессов, большинство из которых по умолчанию запускаются вместе с операционной системой.

alg.exe — системный процесс. служба, являющаяся одним из компонентов ОС Windows необходимая для доступа к Интеренету и работы Брандмауэра. Если завершить этот процесс то подключение к интернет оборвется до следующей перезагрузки Windows.

ati2evxx.exe — является одним из компонентов драйверов для видеокарт AMD/ATI. Осуществляет работу горячих клавиш. Из-за большой нагрузки на ЦП рекомендуется отключить этот процесс и соответствующую службу.

BTTray.exe — компонент драйвера Bluetooth от Widcomm. Необходим для их работы.

csrss.exe — системный процесс Windows, обеспечивающий работу компонента «клиент/сервер». Не может быть отключен. Наиболее сильно подвержен заражению вирусов.

ctfmon.exe — системный процесс, отвечающий за языковую панель, индикатор, отображающий текущую раскладку клавиатуры и обеспечивающий поддержку других альтернативных методов ввода. Отключение этого процесса есстевстенно не рекомендуется.

dwm.exe — системный процесс Windows. Интегрирован в систему, начиная с Windows Vista и 7. Отвечает за графические эфекты рабочего стола, окон и меню, а также нормальное функционирование интерфейса «Aero».

explorer.exe — критический необходимый системный процесс проводника Windows, отвечающий за отображение рабочего стола и меню, возможность осуществления навигации пользователя. Не стоит его отключать.

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

jusched.exe - процесс планировщика для автоматической проверки обновлений Java компонентов. Отключить автоматический запуск этого процесса можно путем выключения автоматической проверки обновлений в настройках Java (Пуск-Панель управления-Java).

lsass.exe - необходимый системный процесс, отвечающий за работу локального сервера проверки подлинности, политику безопасности и авторизации пользователей. Взаимодействует с службой winlogon. Не может быть завершен.

lsm.exe - системный процесс, управляющий удаленными подключениями к локальной системе. Не нужно отключать.

rthdcpl.exe - Процесс, обеспечивающий работу контрольной панели Realtek HD Audio. Иконка для этой программы находится в трее, рядом с часами. Завершение этого процесса может вызвать проблемы работы звука на системе.

rundll32.exe — Необходимй системный процесс Windows запускаемый утилитой командной строки. Позволяет запускать функции и команды DLL — файлов.

services.exe — важный системный процесс, отвечающий за за управление всеми системными службами.

smss.exe — необходимый системный процесс, отвечающий за запуск пользовательского сеанса, а также запуск процессов Winlogon и Csrss.exe. Завершать работу этого процесса нельзя.

spoolsv.exe — системный процесс. Отвечает за функции печати (принтер, факс и тд.).

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

wininit.exe — необходимый системный процесс WIndows. ВЫполняет в фоновом режиме поддержку работы некоторых наиболее важных системных служб и программ, а также отвечает за своевременный запуск элементов автозагрузки.

winlogon.exe — Критически важный системный процесс. Отвечает за вход и выход пользователей в систему. Не может быть завершен.

wmiprvse.exe — системный процесс, один из компонентов Инструментария управления Windows. Отключение не рекомендуется.

wudfhost.exe - Представляет собой определенный функционал поддержки различных драйверов в ОС Windows. Появляется, к примеру во время подключения телефона по USB.

Управление процессами из командной строки

Способов управлять процессами в Windows предостаточно, и командная строка занимает в них далеко не первое место. Однако иногда бывают ситуации, когда все остальные инструменты кроме командной строки недоступны, например некоторые вредоносные программы могут блокировать запуск Task Manager и подобных ему программ. Да и просто для общего развития полезно знать способы управления компьютером из командной строки.

Для управления процессами в командной строке есть две утилиты — tasklist и taskkill . Первая показывает список процессов на локальном или удаленном компьютере, вторая позволяет их завершить. Попробуем …

Если просто набрать команду tasklist в командной строке, то она выдаст список процессов на локальном компьютере.

По умолчанию информация выводится в виде таблицы, однако ключ /fo позволяет задать вывод в виде списка или в формате CSV, а ключ /v показывает более подробную информацию о процессах, например команда tasklist /v /fo list выведет подробное описание всех процессов в виде списка.


Список получится довольно большой, поэтому попробуем уточнить запрос. Для этого используем ключ /fi , который позволяет использовать фильтры для вывода данных, например команда tasklist /fi ″username eq user″ /fi ″memusage le 40000″ выводит список процессов пользователя user , которые потребляют не больше 40Мб памяти.


Найдя процессы, которые необходимо завершить, воспользуемся командой taskkill. Завершать процессы можно по имени, идентификатору процесса (PID) или задав условия с помощью фильтров. Для примера запустим несколько экземпляров блокнота (notepad.exe) и попробуем завершить его разными способами.


Ключ /f завершает процесс принудительно, а /t завершает все дочерние процессы.

Полную справку по командам tasklist и taskkill можно получить, введя их с ключом /?

Теперь пустим в ход тяжелую артиллериюPowerShell. Его можно запустить не выходя из командной строки. Для получения списка процессов используем командлет Get-Process.


Чтобы не выводить весь список процессов можем воспользоваться командлетом Where-Object , который задает фильтр для выводимой информации. Для примера выведем список процессов, которые загружают процессор и отсортируем их по возрастанию нагрузки с помощью команды:

Get-Process | where {$_.cpu -gt 0} | sort cpu


С помощью PowerShell мы можем получить любую информацию о любом процессе. В качестве примера возьмем процесс cmd и выведем список его свойств командой:

Get-Process -Name cmd | Get-Member -Membertype property


Выбираем те свойства, что нам интересны (в примере имя и ID процесса, путь к файлу, используемые модули и время запуска) и выводим их в виде списка командой:

Get-Process -Name cmd | Format-List name, id, path, modules, starttime


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

Для завершения процесса в PowerShell есть командлет Stop-Process . Он завершает указанный процесс по его имени или идентификатору. Однако мы поступим по другому и передадим результат выполнения командлета Get-Process по конвейеру:

Get-Process | where {$_.name -match ″notepad″} | Stop-Process


Get-Process не может показать процессы на удаленном компьютере, для этого воспользуемся командлетом Get-WmiObject , например посмотрим процессы на удаленном компьютере PC командой:

Get-WmiObject win32_process -computername PC | ft name, processid, description


Для боле полного ознакомления с PowerShell можно воспользоваться встроенной справкой, для вызова справки нужно набрать Get-Help ″имя командлета″

Ну и для полноты обзора рассмотрим еще одно средство для управления процессами из командной строки. Это утилиты Pslist и Pskill входящие в состав пакета PSTools от компании Sysinternals.

Эти утилиты не требуют специальной установки, достаточно просто скопировать их на диск. Для запуска нужно зайти в папку с утилитами и ввести в командной строке необходимую команду.


Завершение процесса программой pskill предельно просто, вводим команду и имя (или ID) процесса и все.


Справку по утилитам Pslist и Pskill можно посмотреть, введя команду с ключом /?

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