Как выдать список активных процессов

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Выводим список процессов Windows

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

— Использование средств WMI посредством написания сценариев Windows Script Host
— Встроенная утилита командной строки tasklist

Список процессов Windows с помощью средств WMI

Что бы получить информацию, мы используем класс Process схемы Win32. Выполняя SQL-запрос вида SELECT * FROM Win32_Process мы, собственно получим нужную нам коллекцию, сам запрос выполняется с помощью метода ExecQuery().
While – с помощью данного цикла мы будем просматривать все элементы,

Вот собственно, сам код сценария:

//******************************************* //PsList.JS //Вывод списка процессов Windows //******************************************* // Объявляем переменные var PsWMI, PsProcesses1, PsProcess1, PsList1, Mess1; var vbCritical=16; //Создаем экземпляр объекта WshShell var WshShell = WScript.CreateObject(«WScript.Shell»); //Включаем обработку исключительных ситуаций try < //Соединяемся с WMI PsWMI=GetObject("winMgmts:"); >//Начинаем обработку возможных ошибок catch (e) < if (e!=0) < Mess ="Ошибка\nКод ошибки: " + err.Number; WshShell.Popup(Mess,0,"Запущенные прoцеccы",vbCritical); WScript.Quit(); >> //Создаем кoллeкцию всех работающих процеccoв PsProcesses1=new Enumerator(PsWMI.ExecQuery(«SELECT * FROM Win32_Process»)); PsList1=»Зaпущенныe прoцеccы\n\n»; //Цикл для перебора коллекции while (!PsProcesses1.atEnd()) < PsProcess1=PsProcesses1.item (); PsList1+=PsProcess1.Name + " " + PsProcess1.ProcessID + "\n"; PsProcesses1.moveNext(); >//Выводим кoллeкцию процеccов и их идентификаторов WScript.Echo(PsList1); //************* Конец ********************

Теперь приступим к написанию vbs сценария для вывода списка Windows процессов:

‘********************************************** ‘ PsList.VBS ‘Вывод списка процессов Windows ‘********************************************** ‘ Включаем обработку исключительных ситуаций On Error Resume Next ‘ Объявляем переменные Dim PsWMI, PsProcesses, PsProcess, PsList, Mess ‘ Создаем экземпляр объекта WshShell set WshShell = WScript.CreateObject(«WScript.Shell») ‘ Производим соединение с WMI set PsWMI=GetObject(«winmgmts:») ‘ Проверка на ошибку If Err.Number <> 0 Then Mess =»Ошибка» &vbCrLf & «Код ошибки: » & err.Number WshShell.Popup Mess,0,»Зaпущенныe процеccы»,vbCritical Else ‘ Производи SQL запрос для получения кoллeкции set PsProcesses=PsWMI.ExecQuery(«SELECT * FROM Win32_Process») PsList=»Зaпущeнные проoцeссы» & vbCrLf & vbCrLf ‘ Производи перебор For Each PsProcess in PsProcesses PsList=PsList & PsProcess.Name & vbTab & PsProcess.ProcessID & vbCrLf NEXT ‘Выводим список прoцесcов их идентификаторов WScript.Echo PsList End if ‘*************Конец***************************************

Список процессов Windows с помощью CMD

В отличии от сервера Windows Script Host, где надо подключать WMI, командная строка имеет в своем составе стандартную утилиту tasklist для просмотра Windows списка процессов. Давайте рассмотрим основной синтаксис данной утилиты:

Основной способ отображения управляется с помощью ключей, смотрим:

Задает отображение подробных сведений о задании в выходных данных. Нельзя брать совместно с /svc и /m.

В добавок, хотелось бы еще упомянуть утилиту PsList из набора PsUtils и программу Process Explorer для Windows, которые также позволяют выводить список процессов Windows.

Спасибо за внимание. Автор блога Владимир Баталий

Источник

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

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

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

Введите, в окне терминала, tasklist и командная строка выдаст весь список рабочих процессов на данном компьютере.

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Все данные будут отображаться в табличной форме, но можно поменять вид данных в другой формат. Воспользуйтесь параметром /fo и все отобразится в виде списка (или как CSV), а если использовать параметр /v, то в этот список будут включены более подробные данные о каждом процессе. Введите команду taskliist /v /fo list (без кавычек естественно) и в окне должна появиться приблизительно такая картина.Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Допустим, мы нашили процессы, которые хотим завершить. Теперь настал черед утилиты «taskkill». Для прекращения работы процесса можно использовать его имя, или идентификатор PID, а можно прекращать процессы используя разные фильтры. Для эксперимента, мы запустим несколько окон программы Блокнот (notepad.exe) и на них испытаем разные способы.Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

При помощи параметра /f процесс будет завершен в принудительном порядке, а если добавить еще ключ /t — завершатся все другие, которые были через него запущенны. Чтобы узнать больше возможностей, для команд tasklist и taskkill, добавьте к ним ключ /?. Он отобразит полную справку для этих утилит. Не будем забывать про такое мощное средство, как PowerShell. Мы можем им воспользоваться и прям в этом же окне командной строки. Чтобы просмотреть весь список процессов, запустите команду Get-Process.Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Результат будет иметь приблизительно такой вид:

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Благодаря этому мы узнаем о том, кто запустил процесс, как сильно он грузит систему, где располагается его файл и еще кучу разной, полезной и не очень информации.

Чтобы остановить процесс через PowerShell используйте специальный командой Stop-Process. Для того, чтобы указать нужный процесс для завершения, используйте его имя или идентификатор. Например, можно по конвейеру прекратить работу блокнота:

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Для работы с процессами на другом, удаленном компьютере необходимо использовать совсем другой командой — Get-WmiObject. Сейчас посмотрим, какие процессы запущенны на компьютере с именем «PC»:

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Чтобы узнать больше информации и различных ключей, для работы с процессами через PowerShell, используйте встроенную справку. Запустите команду Get-Help «имя команды» и появится справка по указанному параметру. Есть еще две дополнительные утилиты, способные выполнять операции с процессами. Ими являются Pslist и Pskill. Изначально их в системе нет, они входят в пакет PSTools.

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Дополнительную информацию, в виде справки, можно открыть дополнительным параметром /?

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

Источник

Управление процессами с помощью командлетов Process

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

Получение процессов (Get-Process)

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

Отдельные процессы можно получить, указав их имена или идентификаторы. Следующая команда возвращает процесс Idle:

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

Параметр Name командлета Get-Process можно использовать для указания подмножества процессов на основе имени процесса. Параметр Name может принимать несколько имен в виде списка с разделителями-запятыми и поддерживает использование подстановочных знаков, что позволяет задавать шаблоны имен.

Например, следующая команда возвращает процессы, имена которых начинаются с «ex.».

Get-Process также принимает несколько значений для параметра Name.

Параметр ComputerName командлета Get-Process можно использовать для получения процессов на удаленных компьютерах. Например, следующая команда получает процессы PowerShell на локальном (представленным «localhost») и двух удаленных компьютерах.

Эта более сложная команда добавляет в стандартные отображаемые данные Get-Process свойство MachineName.

Остановка процессов (Stop-Process)

Windows PowerShell позволяет гибко выводить списки процессов, но как обстоят дела с остановкой процесса?

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

Можно также принудительно вывести запрос с помощью параметра Confirm. Он особенно удобен при использовании подстановочного знака в имени процесса, так как случайно может быть определено соответствие с некоторыми процессами, которые не нужно останавливать:

Сложную обработку процессов можно реализовать с помощью командлетов фильтрации объектов. Так как объект Process имеет свойство Responding, которое равно true, если он перестал отвечать, вы можете остановить все неотвечающие приложения с помощью следующей команды:

Аналогичный подход возможен и в других ситуациях. Предположим, например, что приложение дополнительной области уведомлений запускается автоматически при открытии другого приложения. Эта процедура может работать неправильно в сеансах служб терминалов, однако вам все равно нужно сохранить ее в сеансах, выполняемых в консоли физического компьютера. Сеансы, подключенные к рабочему столу физического компьютера, всегда имеют идентификатор сеанса 0, поэтому можно остановить все экземпляры процесса, находящиеся в других сеансах, с помощью Where-Object и SessionId процесса:

Остановка всех остальных сеансов Windows PowerShell

В некоторых случаях может пригодиться возможность остановки всех выполняющихся сеансов Windows PowerShell, отличных от текущего. Если сеанс использует слишком много ресурсов или недоступен (он может выполняться удаленно или в другом сеансе), возможно, остановить его напрямую не получится. При попытке остановить все выполняющиеся сеансы может быть завершен текущий сеанс.

Запуск, отладка и ожидание процессов

Windows PowerShell также имеет командлеты для запуска (или перезапуска), отладки процесса и ожидания завершения процесса перед выполнением команды. Дополнительные сведения об этих командлетах см. в разделах справки по каждому из них.

Источник

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

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

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

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

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

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

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

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

Как выдать список активных процессов. Смотреть фото Как выдать список активных процессов. Смотреть картинку Как выдать список активных процессов. Картинка про Как выдать список активных процессов. Фото Как выдать список активных процессов

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *