Как узнать pid процесса в windows

Обновлено: 06.07.2024

На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.

Определения порта программы стандартными средствами Windows

Узнать какой порт использует программа в операционной системе Windows можно используя инструменты командной строки - tasklist и netstat. С помощью tasklist узнаем номер идентификатора процесса - PID, затем в netstat находим номер порта этого процесса.

Поиск идентификатора процесса PID

1. Открываем командную строку: сочетание клавиш <Win +R> и вводим команду CMD.

запуск командной строки wondows

2. Запускаем tasklist и находим PID процесса.

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

Команда tasklist /fi "status eq running" найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.

Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.

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

Поиск порта процесса

Для получения списка используемых портов воспользуемся утилитой командной строки netstat.

B netstat были использованы слtдующие аргументы:

-a - показывает все сокеты, используемые процессами
-o - показывает PID процесса
-n - показывает адреса в числовом формате

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

список активных сетевых соединений

Чтобы отфильтровать список и сразу найти сетевое соединение с нужным PID перенаправим результаты netstat в утилиту findstr "PID_number", где PID_number - идентификатор искомого процесса.

фильтр списка сетевых соединений по PID

В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.

Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.

Программы для просмотра сетевых соединений

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

Без труда в интернете можно найти 2 бесплатные программы для полчения списка сетевых соединений операционной системы - это "TCPView" и "Curr ports".

TCPView

После запуска программы будет сразу показан список всех сетевых соединений процессов с информацией о протоколе, локальном и удаленном адресе, локальном и удаленном порте соединения. Список можно фильтровать, сортировать и следить за изменениями онлайн. В дополнение к этому можно убить какой-либо процесс или определить кому принадлежит ip-адрес хоста, с которым установлено соединение.

Из мелких недостатков - отсутствие русского языка.

как найти порт в TCPView

CurrPorts

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


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

Идентификатор процесса (process identifier, PID) — уникальный номер процесса в операционной системе Windows.

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

При необходимости можно узнать PID (идентификатор процесса).

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

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


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


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

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

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

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


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

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


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

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

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

1. Используйте командную строку.

Хотя вы можете использовать командную строку для устранения проблем с Windows 10, вы также можете использовать ее для поиска идентификатора процесса приложения. Вот как это сделать:


Если вы хотите узнать идентификатор процесса для приложений Microsoft Store, введите список задач / приложения.

2. Используйте диспетчер задач.

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


Вы также можете увидеть, что PID отображается на вкладке «Службы».

3. Используйте PowerShell.

Вот как вы можете проверить идентификатор процесса приложения с помощью PowerShell:


PowerShell отобразит список идентификаторов процессов приложения вместе с дополнительной информацией о приложениях.

4. Используйте монитор ресурсов.


Монитор ресурсов также показывает, запущено или приостановлено приложение, в столбце «Состояние».

Найдите идентификатор процесса приложения с помощью этих инструментов Windows 10

Each process running in Windows is assigned a unique decimal number called the process ID (PID). This number is used in a number of ways, for example to specify the process when attaching a debugger to it.

This topic describes how you can determine the PID for a given app using Task Manager, the tasklist Windows command, the TList utility, or the debugger.

Task Manager

Task Manager can be opened in a number of ways, but the simplest is to select Ctrl+Alt+Delete, and then select Task Manager.

In Windows 10, first click More details to expand the information displayed. From the Processes tab, select the Details tab to see the process ID listed in the PID column.

partial screen shot of task manager in Windows 10, showing process numbers, sorted by user name.

Click on any column name to sort. You can right click a process name to see more options for a process.

Some kernel errors may cause delays in Task Manager's graphical interface.

The tasklist command

Use the built in Windows tasklist command from a command prompt to display all processes, their PIDs, and a variety of other details.

Use tasklist /? to display command line help.

TList utility

Task List Viewer (TList), or tlist.exe, is a command-line utility that displays the list of tasks, or user-mode processes, currently running on the local computer. TList is included in the Debugging Tools for Windows. For information on how to download and install the debugging tools, see Download Debugging Tools for Windows.

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\

When you run TList from the command prompt, it will display a list of all the user-mode processes in memory with a unique PID number. For each process, it shows the PID, process name, and, if the process has a window, the title of that window.

For more information, see TList.

The .tlist debugger command

If there's already a user-mode debugger running on the system in question, the .tlist (List Process IDs) command will display a list of all PIDs on that system.

PowerShell Get-Process command

To work with automation scripts, use the Get-Process PowerShell command. Specify a specific process name, to see the process ID for that process.

For more information, see Get-Process.

CSRSS and user-mode drivers

To debug a user-mode driver running on another computer, debug the Client Server Run-Time Subsystem (CSRSS) process. For more information, see Debugging CSRSS.

В другой статье мы объяснили порты компьютеров и то, для чего они используются. Кроме этого, что мы можем сделать с информацией о порте? Поскольку весь трафик в и из компьютера проходит через порты, мы можем проверить их, чтобы увидеть, что они делают. Может, порт не слушает трафик? Может быть, что-то использует порт, которого не должно быть?

Мы собираемся использовать команду netstat для Windows, чтобы увидеть наши прослушивающие порты и PID (ID процесса). Мы также увидим, что мы можем сделать с этой информацией.


Что такое Netstat?

Команда netstat представляет собой комбинацию слов «сеть» и «статистика». Команда netstat работает во всех версиях Windows от Windows XP до Windows 10. Она также используется в других операционных системах (ОС), таких как Unix и Linux, но здесь мы будем придерживаться Windows.

Netstat может предоставить нам:

  • Название протокола, который использует порт (TCP или UDP).
  • Локальный IP-адрес и имя компьютера и номер используемого порта.
  • IP-адрес и номер порта, к которому мы подключаемся.
  • Состояние TCP-соединения. Подробнее об этих состояниях читайте в Раздел обработки событий RFC 793,

Использование Netstat для просмотра портов прослушивания и PID

  • Используйте комбинацию клавиш Win Key + X. В открывшемся меню выберите «Командная строка».



  • Просмотрите результаты и запишите адреса, номера портов, состояние и PID. Допустим, мы хотим знать, что использует порт 63240. Обратите внимание, что его PID равен 8552 и он подключается к IP-адресу 172.217.12.138 через порт 443.


Что использует этот порт?

  • Откройте диспетчер задач. Это легче всего сделать, используя комбинацию клавиш Ctrl + Shift + Esc.


  • Нажмите на вкладку Подробности. Чтобы упростить поиск, щелкните заголовок столбца PID для числовой сортировки PID.


  • Прокрутите вниз до PID 8552 и посмотрите, что это за процесс. В данном случае это googledrivesync.exe. Но так ли это на самом деле? Иногда вирусы могут выглядеть как законные процессы.



Как получить порт, PID и имя процесса в PowerShell


  • Сохраните файл как get-NetstatProcessName.ps1. Обязательно отметьте, где он сохраняется. Важно изменить тип Сохранить как: на Все файлы (*. *), Иначе он будет сохранен как get-NetstatProcessName.ps1.txt, и он не будет работать для нас.


    Откройте PowerShell и перейдите к месту, в котором был сохранен скрипт. В этом случае это


  • Запустите скрипт, используя точечный источник, чтобы он работал. Это означает использование ./ перед именем файла. Команда будет


  • Теперь мы можем увидеть всю традиционную информацию netstat плюс имя процесса. Больше не нужно открывать диспетчер задач.


Иди получить их

Мы рассмотрели два способа использования команды netstat для просмотра портов прослушивания. Его можно использовать либо в старой командной строке, либо в скрипте PowerShell. Имея информацию, которую он может нам дать, мы посмотрели, как она может помочь нам понять, что делает наш компьютер.

Вы использовали netstat для решения проблемы? Пожалуйста, расскажите нам, что вы сделали. Есть вопросы о том, как использовать netstat? Пожалуйста, спросите нас в комментариях ниже.

Читайте также: