How to retrieve PID of cmd.exe on windows? – Stack Overflow

How to retrieve pid of cmd.exe on windows?

tasklist |find “cmd.exe”

will always return you list of cmd.exe with PID

if you wish to know PID of specific terminal then execute from the terminal:-

wmic process get parentprocessid,name|find “WMIC”

WMIC.exe 11348

it should return the parent PID which will always be the PID of your cmd.exe

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

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

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

Как узнать pid (идентификатор процесса) в диспетчере задач

Чтобы узнать PID (идентификатор процесса), откройте диспетчер задач и перейдите на вкладку Процессы, затем нажмите правой кнопкой мыши на заголовок таблицы и в контекстном меню выберите пункт ИД процесса.

Теперь найдите нужный процесс, и в столбце ИД процесса будет отображен идентификатор соответствующего процесса.

Как узнать pid (идентификатор процесса) в командной строке

Также узнать PID (идентификатор процесса) можно используя командную строку.

Запустите командную строку и выполните следующую команду:

tasklist

Найдите нужный процесс, в столбце PID будет отображен идентификатор процесса.

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

tasklist /fo list

Найдите нужный процесс, в строке PID будет отображен идентификатор процесса.

Используя рассмотренные выше действия, можно узнать PID (идентификатор процесса) в операционной системе Windows.

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

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

:/>  Скачать UNetbootin (ЮНетБутИн) на русском бесплатно

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

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

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

Получение pid из cmd при запуске пакетного скрипта

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

@echo off

:getPID [RtnVar]
::
:: Store the Process ID (PID) of the currently running script in environment variable
:: RtnVar. If called without any argument, then simply write the PID to stdout.
::
setlocal disableDelayedExpansion
:getLock
set "lock=%temp%%~nx0.%time::=.%.lock"
set "uid=%lock:=:b%"
set "uid=%uid:,=:c%"
set "uid=%uid:'=:q%"
set "uid=%uid:_=:u%"
setlocal enableDelayedExpansion
set "uid=!uid:%%=:p!"
endlocal & set "uid=%uid%"
2>nul ( 9>"%lock%" (
for /f "skip=1" %%A in (
'wmic process where "name='cmd.exe' and CommandLine like '%%<%uid%>%%'" get ParentProcessID'
) do for %%B in (%%A) do set "PID=%%B"
(call )
))||goto :getLock
del "%lock%" 2>nul
endlocal & if "%~1" equ "" (echo(%PID%) else set "%~1=%PID%"
exit /b

Решение npocmaka устанавливает exe файл (скомпилированный JScript) в ту же папку, что и пакетный скрипт.

На моей машине мой чистый пакет getPID работает на 20% быстрее, чем npocmaka exe! Это связано с тем, что exe сначала определяет свой собственный PID процесса, который занимает значительное время, прежде чем он использует WMI для определения желаемого родительского PID. Мой скрипт генерирует уникальный идентификатор (намного быстрее), который включается в вызов WMIC, который определяет желаемый родительский PID.

В обоих решениях основная часть времени проводится в WMI, где он определяет родительский PID для конкретного процесса.

:/>  Консоль, Терминал, Telnet и SSH - что это и зачем нужно?

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

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

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

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

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

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

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

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

Adblock
detector