- Управление процессами Windows через CMD
- Управление приложениями, процессами и производительностью
- Примеры управления процессами через командную строку
- Анализ выполняемых процессов в командной строке
- Мониторинг процессов и использования системных ресурсов
- Останов процессов в командной строке
- Системные и пользовательские процессы
- Как посмотреть список процессов в Windows на удаленном компьютере
- Просмотр системной информации и управление процессами из CMD или PowerShell
- 1. Используйте команду systeminfo для получения системной информации
- 2. Используйте команду tasklist, чтобы увидеть список запущенных процессов в Windows
- 3. Используйте команду taskkill, чтобы остановить процесс
Управление процессами 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 (Планировщик заданий) пользователи тоже могут запускать процессы в фоновом режиме, и эти процессы способны работать независимо от того, зарегистрирован ли пользователь в системе.
Как посмотреть список процессов в Windows на удаленном компьютере
Бывает так, что нам нужно посмотреть, запущена та или иная программа на удаленном компьютере. Просто и быстро. Без стороннего софта. Ну или по каким-то другим причинам посмотреть запущенные процессы.
Если говорить о локальном компьютере, то абсолютное большинство использует для мониторинга процессов Windows Диспетчер задач. Но вот в случае с удаленным компьютером он нам не помощник. Рассмотрим очень простой способ.
Активные пользователи командной строки Windows знают о существовании такой замечательной команды, как tasklist . Команда делает именно то, о чем можно было подумать, т.е. выводит список процессов. Может она это сделать и для удаленного компьютера. Синтаксис команды таков:
tasklist [/S имя_удаленного_компьютера [/U имя_пользователя [/P пароль]]] [/M модуль | /SVC | /V] [/FI фильтр] [/FO формат] [/NH]
/S — необходимо указать имя удаленного компьютера, если подключаемся к такому. Для локального компьютера не указывается;
/U — имя пользователя, от которого будут просматриваться процессы. Пользователь должен быть администратором;
/P — пароль от указанной учетной записи пользователя, если пароль не указан, будет выполнен запрос на ввод пароля;
/M — отображение всех процессов, которые используют указанное имя. Если не задано, будут отображаться все процессы;
/SVC — отображение служб для каждого процесса;
/V — ведение подробного протоколирования;
/FI — отображение процессов, которые соответствуют указанному фильтру;
/FO — формат файла для экспорта, допустимы значение TABLE , LIST и CSV ;
/NH — отключение отображение заголовка в выводим данных, доступно для форматов TABLE и CSV .
Таким образом, если нам просто нужно посмотреть список запущенных процессов на локальном компьютере, то достаточно просто набрать
Пример вывода команды tasklist.
Если же мы хотим посмотреть процессы на удаленном компьютере (например, с именем Test-PC), то команда должна выглядеть следующим образом:
Кроме этого момента, вынесенного в заголовок статьи, разберем другие примеры использования команды tasklist . Что, если мы не хотим просматривать все процессы, а только начинающиеся с win? Тогда мы можем использовать фильтр:
Использование фильтров в команде tasklist.
Со стороны написанное может казаться непонятным. Поэтому разберем синтаксис составления фильтров в команде tasklist .
Начнем с того, что фильтр заключается в кавычки. Далее идёт очень простая схема:
[имя_фильтра] [оператор] [значение]
Есть ограниченное число имён фильтров, операторов и значений. Они в таблице ниже.
Имя фильтра | Допустимые операторы | Допустимые значения | Описание |
STATUS | eq, ne | RUNNING, SUSPENDED, NOT RESPONDING, UNKNOWN | Статус процесса |
IMAGENAME | eq, ne | Имя (часть имени) процесса(-ов) | Подходящие по наименованию процессы |
PID | eq, ne, gt, lt, ge, le | Значение PID | Идентификатор процесса |
SESSION | eq, ne, gt, lt, ge, le | Номер сеанса | Номер сеанса в Windows |
SESSIONNAME | eq, ne | Имя сеанса | Имя сеанса в Windows |
CPUTIME | eq, ne, gt, lt, ge, le | Время ЦП в формате чч:мм:сс (часы:минуты:секунды) | Время обработки задачи |
MEMUSAGE | eq, ne, gt, lt, ge, le | Используемая ОЗУ (в КБ) | Размер используемой задачей оперативной памяти |
USERNAME | eq, ne | Имя пользователя | Пользователь, из-под которого запущен процесс |
SERVICES | eq, ne | Имя службы | Используемые службы |
WINDOWTITLE | eq, ne | Заголовок окна | Заголовок окна процесса |
MODULES | eq, ne | Имя dll (динамически подключаемой библиотеки) | Используемые библиотеки |
Отметим, что для удаленных компьютеров не действуют фильтры «WINDOWTITLE» и «STATUS».
Используемые операторы сравнения означают следующее:
eq — равно;
ne — не равно;
gt — больше;
lt — меньше;
ge — больше или равно;
le — меньше или равно.
Синтаксис фильтров является, пожалуй, самой сложной частью. Все следующие примеры проще. Тот же просмотр служб, относящихся к задачам, вызывается следующей командой:
Просмотр используемых служб в команде tasklist.
Если мы хотим вывести информацию в файл, то нужно использовать параметр /FO. Конечно же, у вас должны быть права на запись в каталог, куда вы хотите поместить файл с выводимой информацией. Команда
выведет информацию в формате .csv в файл primer.csv, который находится на диске C.
Что, если нам надо посмотреть какие процессы используют определенную dll-библиотеку? Например, библиотеку cfgmgr32.dll. Это можно сделать командой
Получилось несколько больше, чем просто статья о просмотре процессов на другом компьютере. 🙂 Это потому, что я считаю, что, заводя речь о какой-то команде, надо давать более-менее подробное описание её сути. Конечно, в данной статье приведены не все примеры и не все нюансы команды tasklist . Их можно изучить самостоятельно.
Просмотр системной информации и управление процессами из CMD или PowerShell
Самый простой способ просмотра информации о вашем компьютере — использовать графические инструменты Windows, такие как диспетчер задач или системная информация. Однако некоторые люди предпочитают использовать командную строку или PowerShell практически для чего угодно. Если вам интересно, как получить системную информацию в CMD (командная строка), или если вы хотите узнать, как управлять запущенными процессами из командной строки, читайте дальше. Мы собираемся показать, как вы можете делать все эти вещи
ПРИМЕЧАНИЕ. Информация в этом руководстве относится к Windows 10, Windows 8.1 и Windows 7, и команды работают как в командной строке, так и в PowerShell.
1. Используйте команду systeminfo для получения системной информации
В Windows есть встроенная команда для проверки конфигурации системы. Он называется systeminfo и, когда вы его запускаете, показывает длинный список информации о вашем компьютере. Откройте командную строку или PowerShell, введите systeminfo и нажмите Enter.
Вы видите, что происходит? Команда systeminfo отображает список деталей о вашей операционной системе, компьютерном оборудовании и программных компонентах. Вы видите детали, такие как версия операционной системы, установленной на вашем компьютере, состояние вашей оперативной памяти или процессора, который у вас есть. Также есть некоторая информация о сети, такая как IP и MAC- адреса ваших сетевых карт.
2. Используйте команду tasklist, чтобы увидеть список запущенных процессов в Windows
Чтобы просмотреть список запущенных процессов, вы можете использовать команду tasklist, как в командной строке, так и в PowerShell. Введите список задач и нажмите Enter.
Команда должна вывести список, аналогичный приведенному выше, с подробной информацией об именах запущенных процессов, их PID (идентификатор процесса) и используемой ими памяти.
3. Используйте команду taskkill, чтобы остановить процесс
Чтобы убить или остановить запущенный процесс из командной строки или PowerShell, вы можете использовать команду taskkill . Давайте предположим, что вы хотите остановить OneDrive. Его процесс называется OneDrive.exe. Чтобы убить его, вы должны запустить команду taskkill /f /im OneDrive.exe . Параметр /f указывает Windows принудительно завершить процесс, а параметр /im используется для идентификации и остановки процесса путем ввода его имени.
Есть моменты, когда вам нужно открыть программу дважды или даже несколько раз. Каждое новое окно, а иногда и вкладки определенной программы (например, Firefox) создают отдельный процесс, называемый экземпляром, с прикрепленным к нему уникальным PID (идентификатор процесса).
Чтобы остановить один экземпляр процесса, вам нужно указать его PID (идентификатор процесса) . Давайте предположим, что на вашем компьютере открыто несколько экземпляров Firefox. Имя процесса — firefox.exe, но вы хотите закрыть только один из запущенных экземпляров (вкладки, окна).
Если вы хотите завершить процесс с PID 2492, вам нужно набрать taskkill /PID 2492 и нажать Enter.
Другой параметр, который вы можете использовать для команды taskkill — это /t . Этот параметр позволяет завершить указанный процесс и любые дочерние процессы, которые были запущены им. Возьмите тот же пример: процесс Firefox. Давайте предположим, что у вас есть восемь процессов, и вы хотите убить их всех с помощью параметра /t . Вы должны ввести команду « taskkill /t /im firefox.exe » и затем нажать Enter. Посмотрите на скриншот ниже, чтобы увидеть подтверждение введенной вами команды.
Обратите внимание, что если вы неправильно используете команды, перечисленные в этой статье, вы рискуете потерять данные, открытые в запущенных процессах. Важно быть осторожным и иметь резервную копию ваших данных. Поэтому действуйте осторожно и не говорите, что мы вас не предупреждали. 🙂
ПРИМЕЧАНИЕ. Чтобы уничтожить любой запущенный процесс, вам нужно запустить командную строку или PowerShell от имени администратора. Если вы не знаете, как, прочитайте: 9 способов запуска программ с правами администратора в Windows .
Вам нравится использовать командную строку для проверки системной информации и управления запущенными процессами?
Вы знаете, как отобразить системную информацию вашего ПК и как остановить процессы, используя несколько текстовых команд в командной строке или PowerShell. Вы не чувствуете себя сейчас отвратительно? Если вы это сделаете, прокомментируйте ниже и расскажите, насколько вам нравится использование CMD или PowerShell. 🙂