Как вывести список запущенных процессов

Как проверить список запущенных процессов в Windows?

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

Диспетчер задач

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

Ctrl + Shift + Esc

Вкладка с процессами не изменилась со времён Windows XP:

Однако, если вы на К76, вам Диспетчера мало. Согласен, продолжаем.

Список запущенных процессов из командной строки

В Windows есть встроенная командная утилита tasklist, отображающая список запущенных процессов на указанном компьютере. Как и многие другие в папке System32, tasklist принадлежит к числу административных утилит, которые могут смотреть запущенные процессы на удалённых машинах по сети. Для локального компьютера команда в консоли, запущенной от имени администратора, может, например, принять такой вид:

Читайте также:  С какими мячами стирать пуховики

После этого на Рабочем столе появится текстовый файл:

в котором запущенные на момент исполнения команды будут представлены в удобочитаемом виде. Текстовый вывод не понимает кириллицы, так что я обычно использую специальные текстовые редакторы типа Notepad ++. Но, думаю, что в файле написано, понятно и так:

Или процессы можно представить в табличном формате; если есть Excel, можете просматривать процессы оттуда:

Для удалённого компьютера команда примет вид:

На этом можно было бы и закончить, но я продолжу аналогичным вариантом, откуда вы узнаете…

Как узнать список запущенных процессов из Power Shell

Информация из файла, получаемого аналогичным путём, будет немного более информативнее. Этот вариант доступен владельцам копий Windows 7/10, и командлет на отображение списка на том же Рабочем столе будет таким:

для локальной копии Windows:

  • Handles — число потоков, которые процесс открыл для себя.
  • NPM(K) — размер невыгружаемого пула памяти, использующегося процессом, в килобайтах.
  • PM(K) — размер выгружаемого пула памяти, использующегося процессом, в килобайтах.
  • WS(K) — размер рабочего набора процесса, в килобайтах. Он состоит из страниц памяти, к которым процесс обращался в текущем сеансе.
  • VM(M) — объём оперативной памяти, занимаемой процессом, в мегабайтах (в том числе в pafefile).
  • CPU(s) — время в секундах, затрачиваемое всеми камнями процессора.
  • ID — PID указанного процесса.
  • ProcessName — Имя процесса.

Источник

Управление процессами Windows через CMD

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

Управление приложениями, процессами и производительностью

Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся:

  • Pmon (Process Resource Manager) — показывает статистические данные по производительности, включая использование памяти и процессора, а также список всех процессов, выполняемых в локальной системе. Позволяет получать детальные «снимки» задействованных ресурсов и выполняемых процессов. Pmon поставляется с Windows Resource Kit;
  • Tasklist (Task List) — перечисляет все выполняемые процессы по имени и идентификатору процесса, сообщает информацию о сеансе пользователя и занимаемой памяти;
  • Taskkill (Task Kill) — останавливает выполнение процесса, заданного по имени или идентификатору. С помощью фильтров можно останавливать процессы в зависимости от их состояния, номера сеанса, процессорного времени, занимаемой памяти, имени пользователя и других параметров.

Примеры управления процессами через командную строку

Анализ выполняемых процессов в командной строке

При помощи утилиты командной строки Tasklist можно проверить процессы, работающие в локальной или удаленной системе. Tasklist позволяет:

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

Пример: tasklist — команда выводит список запущенных в операционной системе процессов.

Мониторинг процессов и использования системных ресурсов

Process Resource Monitor (Pmon) показывает «моментальный снимок» используемых системных ресурсов и выполняемых процессов. После запуска (вводом pmon в командной строке) эта утилита собирает информацию об использовании ресурсов и выполняемых процессах в локальной системе и выводит результаты в консольное окно. Статистика автоматически обновляется каждые пять секунд. Pmon продолжает работу, пока вы не нажмете клавишу Q для выхода; нажатие любой другой клавиши приводит к обновлению информации.

Останов процессов в командной строке

Чтобы остановить процессы в локальной или удаленной системе, применяйте утилиту командной строки Taskkill. Процесс можно остановить по его идентификатору при помощи параметра /Pid или по имени образа

Пример: taskkill /IM notepad.exe — завершает работу программы блокнот.

Системные и пользовательские процессы

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

Процессы могут работать и в фоновом режиме независимо от сеансов зарегистрированных пользователей. Фоновые процессы не имеют контроля над клавиатурой, мышью или другими устройствами ввода и обычно запускаются операционной системой. Но с помощью Task Scheduler (Планировщик заданий) пользователи тоже могут запускать процессы в фоновом режиме, и эти процессы способны работать независимо от того, зарегистрирован ли пользователь в системе.

Источник

tasklist

Отображает список запущенных в данный момент процессов на локальном или удаленном компьютере. Tasklist заменяет средство TList .

Эта команда заменяет средство TList .

Синтаксис

Параметры

Параметр Описание
ключ Указывает имя или IP-адрес удаленного компьютера (не используйте символы обратной косой черты). По умолчанию это локальный компьютер.
/u \ Выполняет команду с разрешениями учетной записи пользователя, заданного или пользователем \ . Параметр /u может быть указан только в том случае, если задано также значение /s . По умолчанию заданы разрешения пользователя, который в данный момент вошел в систему компьютера, выполняющего команду.
/p

Указывает пароль учетной записи пользователя, указанной в параметре /u . /m Список всех задач с загруженными модулями DLL, которые соответствуют заданному имени шаблона. Если имя модуля не указано, в этом параметре отображаются все модули, загруженные каждой задачей. SVC Список всех сведений о службе для каждого процесса без усечения. Допустим, если для параметра /FO задано значение Table. /v Отображает подробные сведения о задаче в выходных данных. Для получения подробных выходных данных без усечения используйте /v и /SVC вместе. #b1

Указывает формат, используемый для выходных данных. Допустимые значения: Table, List и CSV. Формат выходных данных по умолчанию — Table. использован Подавляет вывод заголовков столбцов в выходных данных. Допустим, если для параметра /FO задано значение Table или CSV. /Fi Указывает типы процессов, включаемых в запрос или исключаемых из него. Можно использовать более одного фильтра или использовать подстановочный знак ( \ ) для указания всех задач или имен изображений. Допустимые фильтры перечислены в разделе имена фильтров, операторы и значения этой статьи. /? Отображение справки в командной строке.

Имена фильтров, операторы и значения

Имя фильтра Допустимые операторы Допустимые значения
Состояние eq, ne RUNNING | NOT RESPONDING | UNKNOWN . Этот фильтр не поддерживается, если указана удаленная система.
IMAGENAME eq, ne Имя образа
ИД процесса eq, ne, gt, lt, ge, le Значение PID
SESSION eq, ne, gt, lt, ge, le Номер сеанса
SESSIONNAME eq, ne Имя сеанса
CPUtime eq, ne, gt, lt, ge, le Время ЦП в формате чч: мм: СС, где mm и SS находятся в диапазоне от 0 до 59, а чч — любое число без знака
мемусаже eq, ne, gt, lt, ge, le Использование памяти в КБ
USERNAME eq, ne Любое допустимое имя пользователя ( или )
Обслуживание eq, ne Служебное имя
WINDOWTITLE eq, ne Заголовок окна. Этот фильтр не поддерживается, если указана удаленная система.
МОДУЛЕ eq, ne Имя DLL

Примеры

Чтобы получить список всех задач с идентификатором процесса, превышающим 1000, и отобразить их в формате CSV, введите:

Чтобы получить список системных процессов, выполняемых в данный момент, введите:

Чтобы вывести подробные сведения обо всех выполняющихся процессах, введите:

Чтобы получить список всех сведений о службе для процессов на удаленном компьютере срвмаин с именем DLL, начинающимся с NTDLL, введите:

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

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

Источник

Управление процессами с помощью PowerShell

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

Список доступных командлетов управления процессами в Windows 10 можно вывести так:

Get-Command –Noun Process

  • Get-Process – получить список запущенных процессов;
  • Start-Process – запустить процесс/программу;
  • Stop-Process – принудительно остановить процесс;
  • Debug-Process – используется для отладки процессов;
  • Wait-Process – используется для ожидания окончания процесса.

Get-Process – получение списка запущенных процессов

Командлет Get-Process позволяет вывести список запущенных процессов на локальном компьютере.

По-умолчанию выводятся следующие свойства запущенных процессов:

  • Handles – количество дескрипторов ввода — вывода, которые отрыл данный процесс;
  • NPM(K) — Non-paged memory (невыгружаемый пул). Размер данных процесса (в Кб.), которые никогда не попадают в файл подкачки на диск;
  • PM(K) – размер памяти процесса, которая может быть выгружена на диск;
  • WS(K) – размер физической памяти в Кб, используемой процессом (working set).
  • CPU(s) – процессорное время, использованное процессом (учитывается время на всех CPU);
  • ID — идентификатор процесса;
  • SI (Session ID) – идентификатор сеанса процесса (0 — запущен для всех сессий, 1 – для первого залогиненого пользователя, 2 — для второго и т.д.);
  • ProcessName – имя процесса.

Чтобы получить все свойства нескольких процессов:

Get-Process winword, notep* | Format-List *

Можно вывести только определенный свойства процессов. Например, имя (ProcessName) время запуска (StartTime), заголовок окна процесса (MainWindowTitle), имя исполняемого файла (Path) и наименование разработчика (Company):

Get-Process winword, notep* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft

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

Get-Process | Where-Object <$_.mainWindowTitle>| Format-Table Id, Name, mainWindowtitle

С помощью параметра IncludeUserName можно вывести имя пользователя (владельца), который запустил процесс:

Get-Process -Name winword -IncludeUserName

С помощью Where-Object можно выбрать процессы в соответствии с заданными критериями. Например, выведем все процессы, которые используются более 200 Мб оперативной памяти, отсортируем процессы в порядке убывания используемого объема RAM, размер памяти из Кб преобразуем в Мб:

Как мы уже говорили ранее командлет Get-Process в параметре CPU содержит время использования процессора конкретным процессом в секундах. Чтобы отобразить процент использования CPU процессами (по аналогии с Task Manager), используйте такую функцию:

function Get-CPUPercent
<
$CPUPercent = @<
Name = ‘CPUPercent’
Expression = <
$TotalSec = (New-TimeSpan -Start $_.StartTime).TotalSeconds
[Math]::Round( ($_.CPU * 100 / $TotalSec), 2)
>
>
Get-Process | Select-Object -Property Name, $CPUPercent, Description | Sort-Object -Property CPUPercent -Descending | Select-Object -First 20
>

Чтобы найти зависшие процессы (которые не отвечают), выполните команду:

Start-Process, Stop-Process: запуск и остановка процессов из PowerShell

Чтобы запустить новый процесс с помощью PowerShell используется команда:

Start-Process -FilePath notepad

Если каталог с исполняемым файлом отсутствует в переменной окружения $env:path, нужно указать полный путь к файлу:

Start-Process -FilePath ‘C:\distr\app.exe’

Можно запустить программу и передать ей аргументы:

Start-Process -FilePath ping -ArgumentList «-n 10 192.168.1.11»

С помощью параметра WindowStyle вы можете задать режим запуска окна процесса (normal, minimized, maximized, hidden). Например, чтобы запустить программу в максимально развернуом окне и дождаться завершения процесса, выполните команду:

Start-Process -FilePath tracert -ArgumentList «192.168.1.11» –wait -windowstyle Maximized

С помощью командлета Stop-Process можно завершить любой процесс. Например, чтобы закрыть все запущенные процессы notepad:

Stop-Process -Name notepad

По-умолчанию не запрашивается подтверждение завершения процесса. Закрываются все процессы, которые соответствуют указанным критериям. Чтобы запросить подтверждение завершения для каждого процесса, добавьте –Confirm.

Stop-Process -Name notepad.exe -Confirm

(Get-Process -Name notepad).Kill()

Из PowerShell можно принудительно завершить все приложения, которые не отвечают диспетчеру процессов Windows:

Get-Process | where-object <$_.Responding -eq $false>| Stop-Process

PowerShell: управление процессами на удаленном компьютере

С помощью аргумента ComputerName командлет Get-Process позволяет управлять процессами на удаленных компьютерах (должен быть включен и настроен WinRM).

Get-Process -ComputerName dc01, dc02| Format-Table -Property ProcessName, ID, MachineName

Если вы хотите завершить процесс на удаленном компьютере, имейте в виду, что у командлета Stop-Process отсутствует параметр –ComputerName. Для завершения процесса на удаленном компьютере можно использовать такой PowerShell код:

$RProc = Get-Process -Name notepad -ComputerName dc01
Stop-Process -InputObject $RProc

Источник

Оцените статью