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

Используйте команду systeminfo для получения системной информации

В Windows есть встроенная команда для проверки конфигурации системы. Он называется systeminfo и, когда вы его запускаете, показывает длинный список информации о вашем компьютере. Откройте командную строку или PowerShell, введите systeminfo и нажмите Enter.

Вы видите, что происходит? Команда systeminfo отображает список деталей о вашей операционной системе, компьютерном оборудовании и программных компонентах. Вы видите детали, такие как версия операционной системы, установленной на вашем компьютере, состояние вашей оперативной памяти или процессора, который у вас есть. Также есть некоторая информация о сети, такая как IP и MAC- адреса ваших сетевых карт.

How to kill any window-related process directly with just two clicks

Advertisement

Windows : display running processes from command prompt (using tasklist.exe) – codesteps

Windows Task Manager shows the list of processes currently running in the System. Not only the processes, it also displays the list of Services which are registered in the Windows Operating System.

We can display the list of process & services from command prompt also; and especially these are helpful when we are writing the scripts to manage the processes and services.

Windows Operating System, provides TASKLIST.EXE tool to list the processes & services from command prompt.

We do have several tools, to display the list of processes & services currently running from the command prompt. In this Article, I would like to explain TASKLIST.EXE.

From command prompt, run TASKLIST.EXE; to display list of processes or services currently running in the System.

Type tasklist at the command prompt & it displays list of processes currently running. The output looks like below:

C:>tasklist

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         24 K
System                           4 Services                   0      4,336 K
smss.exe                       468 Services                   0      1,328 K
...
...
cmd.exe                      10404 Console                    1      3,868 K
taskmgr.exe                   3604 Console                    1     12,048 K
taskeng.exe                   7424 Console                    1      6,788 K
tasklist.exe                 11000 Console                    1      6,464 K

C:>

We can even display list of services currently running. By using “/SVC” switch at the command prompt, we can display the list of services associated with the processes. Type “tasklist /svc” at the command prompt. The output looks like below:

C:>tasklist /svc

Image Name                     PID Services
========================= ======== ============================================
System Idle Process              0 N/A
System                           4 N/A
smss.exe                       468 N/A
...
lsass.exe                      964 KeyIso, Netlogon, SamSs
svchost.exe                   1076 AudioEndpointBuilder, CscService, Netman,
                                   PcaSvc, SysMain, UxSms, Wlansvc, wudfsvc
svchost.exe                   1100 EventSystem, FontCache, netprofm, nsi,
                                   SstpSvc, W32Time, WdiServiceHost,
                                   WinHttpAutoProxySvc
svchost.exe                   1152 AeLookupSvc, BDESVC, BITS, CertPropSvc,
                                   EapHost, gpsvc, hkmsvc, IKEEXT, iphlpsvc,
                                   LanmanServer, ProfSvc, RasMan, Schedule,
                                   SENS, ShellHWDetection, Themes, Winmgmt
stacsv64.exe                  1188 STacSV

Observe that, list of services associated with the processes are displaying under the “Services” column.

We can even apply a filter to verify whether the application is currently running.

For example: to verify whether “chrome.exe” is running; you can type the below command.

C:>tasklist /fi "imagename eq chrome.exe"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
chrome.exe                    1948 Console                    1    165,936 K
chrome.exe                    9052 Console                    1     34,452 K

C:>

Where “/fi” is the switch used to filter the list of tasks on certain condition. The condition should be in double quotes (“) and “eq” or “ne” are the operators, we can use for equal or non-equal check respectively. “imagename” is the filter name we can use, to filter the tasks or processes based on the name.

To know the list of processes or tasks using memory > Size (for example: 100 MB), the filter looks like below:

:/>  Как определить почему компьютер пищит 💻

/fi “memusage gt 102400”

when we use “memusage” filter, the memory value we need to specify in KBs. So 100 MB = 102400 KB. The result looks like below:

C:>tasklist /fi "memusage gt 102400"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
svchost.exe                   1076 Services                   0    244,776 K
chrome.exe                    1948 Console                    1    166,408 K

C:>

Even we can find out list of processes which are not responding, by using below command.

C:>tasklist /fi "status eq not responding"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
jusched.exe                   6576 Console                    1     11,444 K

C:>

If you like this Article, post your comments in below Comments section.

🙂 Sahida.

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

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

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

Как вывести все процессы в консоли.

Для этого дела предусмотрена команда «tasklist» запускаем cmd.exe и пишем данную команду.

Теперь список всех процессов запущенных в системе как на ладони, будет выведен в cmd.exe! Что Важно знать.

Это естественно «Имя образа» проще говоря имя процесса и так называемый PID – Это просто некое число, оно нам пригодится, когда пойдёт речь о команде «taskkill»

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

Как завершить процесс через cmd.exe

Тут-то и понадобится команда «taskkill». Пользоваться её в локальных условиях довольно просто. Посмотрим как.

У меня запущен процесс «Project1.exe» (Пустое приложение созданное в Delphi специально для этого поста)

После «/IM» пишем имя запущенного процесса, затем как обычно «Enter» и процесс будет убит.

Это был первый способ убить процесс. Рассмотрим и второй. Тут и понадобится нам тот самый «PID»

В моём случаи PID процесса «Project1.exe» такой 5764 У вас он естественно будет другой…

Формируем команду таким образом!

То есть, за место «/im» как было в первом варианте, пишем уже «/PID», а вместо имени процесса указываем сам номер.

Процесс также будет успешно завершён. Если Вам нужно завершить процесс принудительно, то используйте ключик «/F».

Теперь при необходимости можно быстро завершить процесс не используя диспетчер задач.

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

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

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

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

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

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

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

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

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

:/>  Как зациклить выполнение команды в bat-файле?

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

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

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

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

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

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

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

cmd1-min

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

cmd2-min

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

cmd3-min

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

cmd5-min

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

:/>  WinSxS: что это за папка, как ее почистить и способы удаления в Windows

cmd6-min

Чтобы опять не рыться во всех найденных процессах, можно задать фильтр для получения отдельных, соответствующих критериям, процессов. Для этого существует команду Where-Object. Давайте получим табличку с процессами, загружающими процессор на данном компьютере и выстроим их в порядке возрастания нагрузки. Воспользуемся командой следующего вида: Get-Process | where {$_.cpu -gt 0} | sort cpu

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

cmd9-min

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

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

cmd7-min

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

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

cmd8-min

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

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

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

cmd10-min

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

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

cmd11-min

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

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

cmd12-min

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

cmd13-min

Интересной функцией Pslist является возможность работы в режиме диспетчера процессов. Вся информация постоянно обновляется и можно задавать подходящий интервал получения актуальных данных. За этот режим ответствен ключ -s. Допустим, необходимо установить режим диспетчера с обновлением каждые десять секунд, эта команда будет выглядеть так: tasklist -s -r 10

cmd14-min

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

cmd15-min

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

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

Оставьте комментарий

Adblock
detector