Вы можете узнать PID (идентификатор процесса) с помощью Диспетчера задач или командной строки.
Как узнать PID c помощью Диспетчера задач
- Нажмите Ctrl+Shift+Esc на клавиатуре.
- Перейдите на вкладку Процессы.
- Нажмите правой кнопкой мыши на заголовок таблицы и в контекстном меню выберите ИД процесса.
- Найдите нужный процесс.
В столбце ИД процесса будет отображен идентификатор процесса.
Как узнать PID c помощью командной строки
- Запустите командную строку. Инструкция в статье.
- Введите команду tasklist и нажмите Enter на клавиатуре.
- Найдите нужный процесс.
В столбце PID будет отображен идентификатор процесса.
В Windows 10 каждому приложению, службе или процессу присвоен номер, известный как идентификатор процесса. Идентификатор процесса (или PID) в основном используется для идентификации каждого запущенного или приостановленного процесса в системе.
Знание PID приложения помогает идентифицировать программы, выполняющие несколько экземпляров, например, при редактировании двух разных файлов с помощью одного и того же приложения. Кроме того, PID помогает вам, когда вам нужно завершить процесс вручную или если вы хотите проверить системные ресурсы, потребляемые определенным процессом.
1. Используйте командную строку.
Хотя вы можете использовать командную строку для устранения проблем с Windows 10, вы также можете использовать ее для поиска идентификатора процесса приложения. Вот как это сделать:
-
В строке поиска меню Пуск найдите командную строку и выберите Запуск от имени администратора.
-
Введите список задач. Нажмите Ввод.
-
Командная строка теперь будет отображать PID для запущенных процессов.
Если вы хотите узнать идентификатор процесса для приложений Microsoft Store, введите список задач / приложения.
2. Используйте диспетчер задач.
Выполните следующие действия, чтобы проверить идентификатор процесса с помощью диспетчера задач:
-
Введите диспетчер задач в строку поиска меню «Пуск», щелкните правой кнопкой мыши «Лучшее совпадение» и выберите «Запуск от имени администратора». Или используйте сочетание клавиш Ctrl + Shift + Esc.
-
Выберите вкладку Details.
-
Проверьте номер рядом с приложением в столбце PID.
Вы также можете увидеть, что PID отображается на вкладке «Службы».
3. Используйте PowerShell.
Вот как вы можете проверить идентификатор процесса приложения с помощью PowerShell:
-
В строке поиска меню «Пуск» найдите powershell и выберите «Лучшее совпадение».
-
Введите Get-Process.
-
Нажмите Ввод.
PowerShell отобразит список идентификаторов процессов приложения вместе с дополнительной информацией о приложениях.
Монитор ресурсов — это функция Windows 10, которая позволяет вам проверять информацию об оборудовании и программном обеспечении на вашем устройстве. Кроме того, вы можете использовать его, чтобы легко проверить идентификатор процесса приложения. Вот как это сделать:
-
Введите монитор ресурсов в строку поиска меню «Пуск». Щелкните правой кнопкой мыши наилучшее совпадение и выберите «Запуск от имени администратора».
-
Выберите вкладку CPU.
-
Проверьте число рядом с приложением в столбце PID.
Монитор ресурсов также показывает, запущено или приостановлено приложение, в столбце «Состояние».
Если вам нужно проверить идентификатор процесса приложения, в Windows 10 есть как минимум четыре способа сделать это. Вы можете использовать командную строку, диспетчер задач, PowerShell или монитор ресурсов — к счастью, все они просты в использовании.
В данной статье показаны действия, с помощью которых можно узнать PID (идентификатор процесса) в операционной системе Windows.
Идентификатор процесса (process identifier, PID) — уникальный номер процесса в операционной системе Windows.
Все процессы имеют уникальные идентификаторы PID, которые автоматически присваиваются каждому процессу когда он создается в операционной системе, что позволяет ядру системы различать процессы.
При необходимости можно узнать PID (идентификатор процесса).
Как узнать PID (идентификатор процесса) в диспетчере задач
Чтобы узнать PID (идентификатор процесса), откройте диспетчер задач и перейдите на вкладку Процессы, затем нажмите правой кнопкой мыши на заголовок таблицы и в контекстном меню выберите пункт ИД процесса.
Теперь найдите нужный процесс, и в столбце ИД процесса будет отображен идентификатор соответствующего процесса.
Как узнать PID (идентификатор процесса) в командной строке
Также узнать PID (идентификатор процесса) можно используя командную строку.
Запустите командную строку и выполните следующую команду:
tasklist
Найдите нужный процесс, в столбце PID будет отображен идентификатор процесса.
Также можно отобразить процессы в виде списка, для этого в командной строке выполните следующую команду:
tasklist /fo list
Найдите нужный процесс, в строке PID будет отображен идентификатор процесса.
Используя рассмотренные выше действия, можно узнать PID (идентификатор процесса) в операционной системе Windows.
Знаете ли вы, что каждому процессу, запускаемому в вашей Windows, присваивается определенный номер для идентификации? В этом руководстве мы покажем вам, что такое идентификатор процесса и как узнать идентификатор процесса приложения в Windows 10/11 .
Что такое идентификатор процесса (PID) в Windows 11/10
Каждому процессу, работающему в Windows, присваивается уникальный десятичный номер. Это уникальное десятичное число называется идентификатором процесса (PID). Уникальное десятичное число или идентификатор процесса имеет множество применений. Например, с его помощью можно указать процесс с его идентификатором при подключении к нему отладчика. Обычному пользователю это бесполезно. Но, зная, что это пригодится в таких ситуациях, как устранение проблем.
Идентификатор процесса приложения можно найти в четырех разными способами.
Через Диспетчер задач Через Командную строку Через Монитор ресурсов Через PowerShell
Давайте посмотрим, как мы можем получить идентификатор процесса с помощью этих способов.
1] Через Диспетчер задач
Откройте Диспетчер задач с помощью сочетания клавиш Ctrl + Shift + Esc на клавиатуре. В окнах диспетчера задач щелкните правой кнопкой мыши такие вкладки, как”Имя”,”Состояние”и т. Д., И нажмите PID , чтобы отобразить вкладку PID на панели описания.
После выбора PID открывается новая вкладка с PID и числами для каждого приложения/процесса.
2] Через командную строку
Откройте командную строку от имени администратора. В окне командной строки введите список задач и нажмите Enter . Вы увидите все процессы, запущенные на вашем компьютере, вместе с их идентификаторами процессов, за исключением приложений из магазина Microsoft. Чтобы найти идентификаторы процессов приложений магазина Microsoft, введите список задач/приложения и нажмите Enter
3] Through Resource Monitor
Откройте монитор ресурсов из Инструменты Windows . В окнах монитора ресурсов вы найдете запущенные процессы и их идентификаторы процессов (PID), как в диспетчере задач.
4] Через PowerShell
Откройте PowerShell из меню «Пуск» (от имени администратора или обычного пользователя), введите Get-Process и нажмите Enter . Вы увидите список процессов и их идентификаторы процессов под тегом ID.
Это четыре способа, которые вы можете использовать, чтобы узнать идентификатор процесса (PID) приложения или процесса, запущенного на вашем ПК.
Как найти идентификатор процесса по имени?
Вы можете найти идентификатор процесса по имени приложения, используя указанные выше процессы. Вам нужно знать точное название Процесса. Вы можете увидеть процесс в диспетчере задач и легко узнать его идентификатор процесса (PID).
Как найти PID службы?
Чтобы найти идентификатор процесса (PID) служб, запущенных на вашем компьютере, вы можете использовать командную строку tasklist/svc. Вы получите подробную информацию о процессах и связанных с ними службах.
Знаете ли вы, что каждому процессу, запускаемому в вашей Windows, присваивается определенный номер для идентификации? В этом руководстве мы покажем вам, что такое идентификатор процесса и как узнать идентификатор процесса приложения в Windows 10/11.
Что такое идентификатор процесса (PID) в Windows 11/10
Каждому процессу, работающему в Windows, дается уникальное десятичное число. Это уникальное десятичное число называется идентификатором процесса (PID). Уникальное десятичное число или идентификатор процесса имеет множество применений. Например, с его помощью можно указать процесс с его идентификатором при подключении к нему отладчика. Обычному пользователю это бесполезно. Но, зная, что это пригодится в таких ситуациях, как решение проблем.
Вы можете найти идентификатор процесса приложения четырьмя разными способами.
- Через диспетчер задач
- Через командную строку
- Через монитор ресурсов
- Через PowerShell
Давайте посмотрим, как мы можем получить идентификатор процесса с помощью способов.
1]Через диспетчер задач
Откройте диспетчер задач с помощью сочетания клавиш Ctrl + Shift + Esc на клавиатуре. В окнах диспетчера задач щелкните правой кнопкой мыши такие вкладки, как «Имя», «Состояние» и т. Д., И нажмите «PID», чтобы отобразить вкладку «PID» на панели описания.
После того, как вы выбрали PID, появится новая вкладка с PID и номерами для каждого приложения / процесса.
2]Через командную строку
Откройте командную строку от имени администратора. В окне командной строки введите список задач и нажмите Enter. Вы увидите все процессы, запущенные на вашем компьютере, вместе с их идентификаторами процессов, за исключением приложений из магазина Microsoft. Чтобы найти идентификаторы процессов приложений магазина Microsoft, введите список задач / приложения и нажмите Enter.
3]Через монитор ресурсов
Откройте Resource Monitor из инструментов Windows. В окнах монитора ресурсов вы найдете запущенные процессы и их идентификаторы процессов (PID), как в диспетчере задач.
4]Через PowerShell
Откройте PowerShell из меню «Пуск» (от имени администратора или обычного пользователя), введите Get-Process и нажмите Enter. Вы увидите список процессов и их идентификаторы процессов под тегом ID.
Это четыре способа узнать идентификатор процесса (PID) приложения или процесса, запущенного на вашем ПК.
Как найти идентификатор процесса по имени?
Вы можете найти идентификатор процесса по имени приложения, используя указанные выше процессы. Вам нужно знать точное название Процесса. Вы можете увидеть процесс в диспетчере задач и легко узнать его идентификатор процесса (PID).
Как узнать PID службы?
Чтобы узнать идентификатор процесса (PID) служб, запущенных на вашем компьютере, вы можете использовать командную строку tasklist / svc. Вы получите подробную информацию о процессах и связанных с ними услугах.
.
(Image credit: Future)
On Windows 10, every process from an app or a service has an identification number known as a Process ID (PID). The PID has various uses, but mainly, it exists to identify each process across the system and programs running multiple instances (such as when editing two text files with Notepad).
Although users do not have to worry about the system processes, the ability to determine their specific system number can come in handy in many scenarios. For instance, when you need to debug an app. A program is stuck, and you must terminate the process manually. Or you need to check the system resources that a particular process is using.
Regardless of the reason, Windows 10 includes at least four ways to check the PID for any process running in the system using Task Manager, Resource Monitor, Command Prompt, and PowerShell.
This guide will walk you through the steps to identify the process identification number for an app or service on Windows 10.
How to determine Process ID from Task Manager
To check the Process ID for an app on Windows 10, use these steps:
- Open Start.
- Search for Task Manager and click the top result to open the app.
- Quick tip: You can also open the app by right-clicking the Taskbar and selecting the Task Manager option, right-clicking the Start button and selecting the Task Manager option, or using the «Ctrl + Shift + Esc» keyboard shortcut.
- Click the Details tab.
- Confirm the app’s Process ID in the PID column.
- Click the Services tab.
- Confirm the app’s Process ID in the PID column.
Once you complete the steps, you will know the process identification number for services and applications running and suspended on Windows 10.
How to determine Process ID from Resource Monitor
To find the Process ID for an app with the Resource Monitor console on Windows 10, use these steps:
- Open Start.
- Search for Resource Monitor and click the top result to open the app.
- Click the Overview tab.
- Confirm the Process ID of apps and services in the PID column.
After you complete the steps, you will have an overview of the ID for the running and suspended processes.
How to determine Process ID from Command Prompt
To find out the ID of a process with commands on Windows 10, use these steps:
- Open Start.
- Search for Command Prompt and click the top result to open the terminal.
- Type the following command to view the Process ID list and press Enter: tasklist
- Type the following command to view a list of Process IDs for Microsoft Store apps and press Enter: tasklist /apps
- Type the following command to get the ID from the process name and press Enter: tasklist /svc /FI «ImageName eq PROCESS-NAME*»
In the command, make sure to replace PROCESS-NAME with the «.exe» name of the process. The * is a wildcard to match part of the name without having to type the exact name of the process. This example shows the processes for Notepad: tasklist /svc /FI «ImageName eq notepad*»
Once you complete the steps, the output will display the IDs for the processes running on the device.
How to determine Process ID from PowerShell
To determine the Process ID of an app or service with PowerShell, use these steps:
- Open Start.
- Search for PowerShell and click the top result to open the terminal.
- Type the following command to view the Process ID list and press Enter: Get-Process
- Type the following command to view information (including ID) about a process and press Enter: Get-Process PROCESS-NAME* | Format-List *
In the command, make sure to replace PROCESS-NAME with the «.exe» name of the process. The * is a wildcard to match part of the name without having to type the exact name of the process. This example shows the Notepad Process ID and all the available information about the process: Get-Process notepad* | Format-List *
- Type the following command to determine the ID and owner of the process and press Enter: Get-Process PROCESS-NAME* -IncludeUserName
In the command, make sure to replace PROCESS-NAME with the «.exe» name of the process. The * is a wildcard to match part of the name without having to type the exact name of the process. This example shows the processes for Notepad: Get-Process notepad* -IncludeUserName
After you complete the steps, the PowerShell output will list the Process ID along with other information about the app or service.
More resources
For more helpful articles, coverage, and answers to common questions about Windows 10, visit the following resources:
- Windows 11 on Windows Central — All you need to know
- Windows 10 on Windows Central — All you need to know
(opens in new tab)
Cutting-edge operating system
A refreshed design in Windows 11 enables you to do what you want effortlessly and safely, with biometric logins for encrypted authentication and advanced antivirus defenses.
Get the best of Windows Central in in your inbox, every day!
Mauro Huculak is technical writer for WindowsCentral.com. His primary focus is to write comprehensive how-tos to help users get the most out of Windows 10 and its many related technologies. He has an IT background with professional certifications from Microsoft, Cisco, and CompTIA, and he’s a recognized member of the Microsoft MVP community.
Содержание
- Как узнать PID (идентификатор процесса) в Windows
- Как узнать PID (идентификатор процесса) в диспетчере задач
- Как узнать PID (идентификатор процесса) в командной строке
- Что такое PID? Или на первый-второй рассчитайся!
- Функции операционной системы
- Базовые понятия
- Понятие идентификатора
- Чтобы не запутаться
- Как узнать какой порт использует программа
- Определения порта программы стандартными средствами Windows
- Поиск идентификатора процесса PID
- Поиск порта процесса
- Программы для просмотра сетевых соединений
- TCPView
- CurrPorts
- 4 способа найти идентификатор процесса приложения в Windows 10
- Изучаем процессы в Linux
- Содержание
- Введение
- Атрибуты процесса
- Жизненный цикл процесса
- Рождение процесса
- Состояние «готов»
- Состояние «выполняется»
- Перерождение в другую программу
- Состояние «ожидает»
- Состояние «остановлен»
- Завершение процесса
- Состояние «зомби»
- Забытье
- Благодарности
Как узнать PID (идентификатор процесса) в Windows
В данной статье показаны действия, с помощью которых можно узнать PID (идентификатор процесса) в операционной системе Windows.
Идентификатор процесса (process identifier, PID) — уникальный номер процесса в операционной системе Windows.
Все процессы имеют уникальные идентификаторы PID, которые автоматически присваиваются каждому процессу когда он создается в операционной системе, что позволяет ядру системы различать процессы.
При необходимости можно узнать PID (идентификатор процесса).
Как узнать PID (идентификатор процесса) в диспетчере задач
Теперь найдите нужный процесс, и в столбце ИД процесса будет отображен идентификатор соответствующего процесса.
Как узнать PID (идентификатор процесса) в командной строке
Также узнать PID (идентификатор процесса) можно используя командную строку.
Запустите командную строку и выполните следующую команду:
Найдите нужный процесс, в столбце PID будет отображен идентификатор процесса.
Также можно отобразить процессы в виде списка, для этого в командной строке выполните следующую команду:
Найдите нужный процесс, в строке PID будет отображен идентификатор процесса.
Используя рассмотренные выше действия, можно узнать PID (идентификатор процесса) в операционной системе Windows.
Источник
Что такое PID? Или на первый-второй рассчитайся!
Управление компьютером кажется простым занятием, но так ли это? Километры машинного кода, организация взаимодействия программ, ресурсов и пользователя. Важно не только создать жизнеспособную среду, но и придать ей возможность дальнейшего развития и оптимизации. Разработчикам же остается использовать доступный инструментарий.
Функции операционной системы
Прежде чем ответить на вопрос, что такое pid, важно понять функциональные возможности, от реализации которых зависят и функции идентификатора:
Базовые понятия
Дальнейшее повествование будет базироваться на приведенных ниже понятиях. Пренебрегая этим пунктом, будет сложно понять, что такое pid.
Процесс – это любой объект, использующий ресурсы системы, согласно стандарту ISO. 9000:2000 – совокупность операций, взаимодействие которых преобразует входящие данные в исходящие.
Любой процесс характеризуется несколькими параметрами:
Процесс создается операционной системой с момента запуска или при получении соответствующего запроса. Завершение происходит путем сбора статистической информации с последующим удалением и взаимодействием с очередью планирования и выделением ресурсов. С теоретической базой покончено, пора дать ответ на важнейший вопрос, что такое pid.
Понятие идентификатора
Каждая запущенная программа идентифицируется или распознается с помощью уникального номера с меткой. Таким образом система взаимодействует с каждым процессом.
Чтобы поближе познакомиться с указателем, можно пойти двумя путями:
Разрешается использование уникального номера для поиска потенциально вредоносного ПО. Дело в том, что вирусы часто маскируются под «благопристойные» файлы, указатель же дает четкое представление о безопасности рассматриваемого объекта. Нужно только уметь распознать, «что такое pid» из кодового потока системных и менее значительных процессов.
Современные языки программирования позволяют «вычленить» из обычного номера информацию об интересующем объекте. На программном уровне можно разработать код, напрямую взаимодействующий с pid. Что это дает? Ценой пары кликов удастся вывести полный путь к интересующему файлу или программе. По сути, это позволит не только понять и оптимизировать работу системы (количество необходимых ресурсов), но и защитить машину от потенциальной угрозы.
Чтобы не запутаться
В электронике существует и pid-регулятор – электронное устройство, использующееся в системах автоматического управления. Позволяет не только формировать сигнал управления, но и влиять на показатели точности и качества переходного процесса.
Многие пользователи путают два понятия, но они абсолютно разные. После прочтения статьи окончательно должен иссякнуть вопрос, «что такое pid процесса», так как приведенные сведения дают полное описание и возможности указателя. Важно понимать, что функционирование «операционки» напрямую зависит от каждого винтика фундаментальной системы. Сегодня был рассмотрена лишь частичка на микроуровне компьютера как машины.
Источник
Как узнать какой порт использует программа
На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.
Определения порта программы стандартными средствами Windows
Поиск идентификатора процесса PID
1. Открываем командную строку: сочетание клавиш и вводим команду CMD.
2. Запускаем tasklist и находим PID процесса.
Если необходимо отобразить полный список процессов, в том числе служебных и системных, необходимо использовать tasklist без аргументов.
Команда tasklist /fi «status eq running» найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.
Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.
Поиск порта процесса
Для получения списка используемых портов воспользуемся утилитой командной строки netstat.
B netstat были использованы слtдующие аргументы:
В результате будет получен довольно крупный список активных сетевых соединений, среди которых необходимо найти соединение с нужным PID.
В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.
Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.
Программы для просмотра сетевых соединений
Этот способ подойдет для тех, кто не хочет погружаться в работу утилит командной строки Windows, а желает быстро и просто получить информацию о портах, которые использует программа, в графическом интерфейсе.
TCPView
CurrPorts
Из плюсов программы следует отметить наличие русского языка. Чтобы русифицировать программу нужно скачать отдельный файл русификации и положить его в папку с программой.
Источник
4 способа найти идентификатор процесса приложения в Windows 10
В Windows 10 каждому приложению, службе или процессу присвоен номер, известный как идентификатор процесса. Идентификатор процесса (или PID) в основном используется для идентификации каждого запущенного или приостановленного процесса в системе.
Знание PID приложения помогает идентифицировать программы, выполняющие несколько экземпляров, например, при редактировании двух разных файлов с помощью одного и того же приложения. Кроме того, PID помогает вам, когда вам нужно завершить процесс вручную или если вы хотите проверить системные ресурсы, потребляемые определенным процессом.
1. Используйте командную строку.
Хотя вы можете использовать командную строку для устранения проблем с Windows 10, вы также можете использовать ее для поиска идентификатора процесса приложения. Вот как это сделать:
В строке поиска меню Пуск найдите командную строку и выберите Запуск от имени администратора.
Введите список задач. Нажмите Ввод.
Командная строка теперь будет отображать PID для запущенных процессов.
Если вы хотите узнать идентификатор процесса для приложений Microsoft Store, введите список задач / приложения.
2. Используйте диспетчер задач.
Выполните следующие действия, чтобы проверить идентификатор процесса с помощью диспетчера задач:
Введите диспетчер задач в строку поиска меню «Пуск», щелкните правой кнопкой мыши «Лучшее совпадение» и выберите «Запуск от имени администратора». Или используйте сочетание клавиш Ctrl + Shift + Esc.
Выберите вкладку Details.
Проверьте номер рядом с приложением в столбце PID.
Вы также можете увидеть, что PID отображается на вкладке «Службы».
3. Используйте PowerShell.
Вот как вы можете проверить идентификатор процесса приложения с помощью PowerShell:
В строке поиска меню «Пуск» найдите powershell и выберите «Лучшее совпадение».
PowerShell отобразит список идентификаторов процессов приложения вместе с дополнительной информацией о приложениях.
4. Используйте монитор ресурсов.
Монитор ресурсов — это функция Windows 10, которая позволяет вам проверять информацию об оборудовании и программном обеспечении на вашем устройстве. Кроме того, вы можете использовать его, чтобы легко проверить идентификатор процесса приложения. Вот как это сделать:
Введите монитор ресурсов в строку поиска меню «Пуск». Щелкните правой кнопкой мыши наилучшее совпадение и выберите «Запуск от имени администратора».
Выберите вкладку CPU.
Проверьте число рядом с приложением в столбце PID.
Монитор ресурсов также показывает, запущено или приостановлено приложение, в столбце «Состояние».
Найдите идентификатор процесса приложения с помощью этих инструментов Windows 10
Если вам нужно проверить идентификатор процесса приложения, в Windows 10 есть как минимум четыре способа сделать это. Вы можете использовать командную строку, диспетчер задач, PowerShell или монитор ресурсов — к счастью, все они просты в использовании.
Источник
Изучаем процессы в Linux
В этой статье я хотел бы рассказать о том, какой жизненный путь проходят процессы в семействе ОС Linux. В теории и на примерах я рассмотрю как процессы рождаются и умирают, немного расскажу о механике системных вызовов и сигналов.
Данная статья в большей мере рассчитана на новичков в системном программировании и тех, кто просто хочет узнать немного больше о том, как работают процессы в Linux.
Всё написанное ниже справедливо к Debian Linux с ядром 4.15.0.
Содержание
Введение
Системное программное обеспечение взаимодействует с ядром системы посредством специальных функций — системных вызовов. В редких случаях существует альтернативный API, например, procfs или sysfs, выполненные в виде виртуальных файловых систем.
Атрибуты процесса
Процесс в ядре представляется просто как структура с множеством полей (определение структуры можно прочитать здесь).
Но так как статья посвящена системному программированию, а не разработке ядра, то несколько абстрагируемся и просто акцентируем внимание на важных для нас полях процесса:
Жизненный цикл процесса
Рождение процесса
Состояние «готов»
Сразу после выполнения fork(2) переходит в состояние «готов».
Фактически, процесс стоит в очереди и ждёт, когда планировщик (scheduler) в ядре даст процессу выполняться на процессоре.
Состояние «выполняется»
Перерождение в другую программу
В некоторых программах реализована логика, в которой родительский процесс создает дочерний для решения какой-либо задачи. Ребёнок в данном случае решает какую-то конкретную проблему, а родитель лишь делегирует своим детям задачи. Например, веб-сервер при входящем подключении создаёт ребёнка и передаёт обработку подключения ему.
Однако, если нужно запустить другую программу, то необходимо прибегнуть к системному вызову execve(2) :
или библиотечным вызовам execl(3), execlp(3), execle(3), execv(3), execvp(3), execvpe(3) :
Как не путаться во всех этих вызовах и выбирать нужный? Достаточно постичь логику именования:
Семейство вызовов exec* позволяет запускать скрипты с правами на исполнение и начинающиеся с последовательности шебанг (#!).
Есть соглашение, которое подразумевает, что argv[0] совпадает с нулевым аргументов для функций семейства exec*. Однако, это можно нарушить.
Любопытный читатель может заметить, что в сигнатуре функции int main(int argc, char* argv[]) есть число — количество аргументов, но в семействе функций exec* ничего такого не передаётся. Почему? Потому что при запуске программы управление передаётся не сразу в main. Перед этим выполняются некоторые действия, определённые glibc, в том числе подсчёт argc.
Состояние «ожидает»
Некоторые системные вызовы могут выполняться долго, например, ввод-вывод. В таких случаях процесс переходит в состояние «ожидает». Как только системный вызов будет выполнен, ядро переведёт процесс в состояние «готов».
В Linux так же существует состояние «ожидает», в котором процесс не реагирует на сигналы прерывания. В этом состоянии процесс становится «неубиваемым», а все пришедшие сигналы встают в очередь до тех пор, пока процесс не выйдет из этого состояния.
Ядро само выбирает, в какое из состояний перевести процесс. Чаще всего в состояние «ожидает (без прерываний)» попадают процессы, которые запрашивают ввод-вывод. Особенно заметно это при использовании удалённого диска (NFS) с не очень быстрым интернетом.
Состояние «остановлен»
В любой момент можно приостановить выполнение процесса, отправив ему сигнал SIGSTOP. Процесс перейдёт в состояние «остановлен» и будет находиться там до тех пор, пока ему не придёт сигнал продолжать работу (SIGCONT) или умереть (SIGKILL). Остальные сигналы будут поставлены в очередь.
Завершение процесса
Состояние «зомби»
Сразу после того, как процесс завершился (неважно, корректно или нет), ядро записывает информацию о том, как завершился процесс и переводит его в состояние «зомби». Иными словами, зомби — это завершившийся процесс, но память о нём всё ещё хранится в ядре.
Более того, это второе состояние, в котором процесс может смело игнорировать сигнал SIGKILL, ведь что мертво не может умереть ещё раз.
Забытье
Код возврата и причина завершения процесса всё ещё хранится в ядре и её нужно оттуда забрать. Для этого можно воспользоваться соответствующими системными вызовами:
Передача argv[0] как NULL приводит к падению.
После того, как родитель забрал информацию о смерти ребёнка, ядро стирает всю информацию о ребёнке, чтобы на его место вскоре пришёл другой процесс.
Благодарности
Спасибо Саше «Al» за редактуру и помощь в оформлении;
Спасибо Саше «Reisse» за понятные ответы на сложные вопросы.
Они стойко перенесли напавшее на меня вдохновение и напавший на них шквал моих вопросов.
Источник
Содержание
- Как получить подробные сведения о процессах в Windows 7
- Как узнать PID (идентификатор процесса) в Windows
- Как узнать PID (идентификатор процесса) в диспетчере задач
- Как узнать PID (идентификатор процесса) в командной строке
- Finding the process ID
- Task Manager
- The tasklist command
- TList utility
- The .tlist debugger command
- PowerShell Get-Process command
- CSRSS and user-mode drivers
- Как узнать какой порт использует программа
- Определения порта программы стандартными средствами Windows
- Поиск идентификатора процесса PID
- Поиск порта процесса
- Программы для просмотра сетевых соединений
- TCPView
- CurrPorts
- Поиск и сравнение процесса
- Решение
Как получить подробные сведения о процессах в Windows 7
В статье «Анализ использования памяти с помощью Монитора ресурсов Windows 7» я рассказывал, как использовать Монитор ресурсов (Resource Monitor) для анализа распределения памяти в Windows 7. При этом я упомянул, что графа «Образ» (Image) в таблице «Процессы» (Processes) на вкладке «Память» (Memory) позволяет идентифицировать процессы приложений по имени исполняемого файла. Например, процесс «notepad.exe» со всей очевидностью принадлежит Блокноту (Notepad).
Однако далеко не все процессы можно так легко опознать, и я получил уже немало вопросов от читателей по этому поводу. С идентификацией менее очевидных процессов поможет Диспетчер задач (Task Manager), и в этой статье я расскажу, как его использовать.
Запуск Диспетчера задач
Запустить Диспетчер задач в Windows 7 можно несколькими способами. Во-первых, можно нажать на панели задач правой кнопкой мыши и выбрать опцию «Запустить диспетчер задач» (Start Task Manager). Во-вторых, можно воспользоваться клавишной комбинацией [Ctrl]+[Shift]+[Esc]. И наконец в-третьих, можно запустить исполняемый файл Диспетчера задач из строки поиска меню «Пуск» (Start) — для этого введите taskmgr и нажмите [Enter]. В открывшемся окне выберите вкладку «Процессы» (Processes).
На вкладке «Процессы» есть графа «Описание» (Description, рис. A), в которой приводятся подробные сведения о каждом процессе.
Добавление столбцов на вкладке «Процессы»
Чтобы получить более подробные сведения о процессах Windows 7, воспользуйтесь командой «Выбрать столбцы» (Select Columns) в меню «Вид» (View). Появится диалоговое окно «Выбор столбцов страницы процессов» (Select Process Page Columns), показанное на рис. B. Отсюда можно добавить на вкладку «Процессы» дополнительные колонки — например, столбец «Путь к образу» (Image Path Name), в котором указывается полный путь к файлу, инициировавшему запущенный процесс Windows 7, или графу «Командная строка» (Command Line), где приводится полная команда для запуска процесса со всеми параметрами и переключателями.
Помимо этих столбцов, на вкладку «Процессы» можно добавить и многие другие. Всего в окне «Выбор столбцов страницы процессов» доступно более 30 опций, описание которых не входит в задачи данной статьи. Узнать о назначении всех колонок можно из справочной статьи «Что означают столбцы памяти Диспетчера задач?» на сайте Microsoft.
Опция «Открыть место хранения файла»
Помимо добавления на вкладку столбцов «Путь к образу» и «Командная строка», можно нажать на процессе правой кнопкой мыши и выбрать опцию «Открыть место хранения файла» (Open File Location). При этом откроется папка со всеми файлами, относящимися к данному процессу. К примеру, для процесса «hqtray.exe» на моем компьютере открывается папка «VMware Player» (рис. C).
Еще один источник информации о процессе Windows 7 — окно свойств, которое можно вызвать, нажав на процессе правой кнопкой мыши и выбрав опцию «Свойства» (Properties). Полезные сведения содержатся на вкладке «Подробно» (Details, рис. D).
Если вас интересует процесс «Svchost.exe», можно воспользоваться утилитой командной строки Tasklist, чтобы узнать о нем поподробнее. «Svchost.exe» — общее имя процесса для всех служб, запускаемых из динамически подключаемых библиотек (DLL). Чтобы узнать, каким службам принадлежит этот процесс, откройте командную строку (Command Prompt) и выполните следующую команду:
Вы получите список всех запущенных процессов, в котором приводятся сведения о службах для каждого процесса «Svchost.exe» (рис. E).
Узнав имена служб, запомните идентификатор (PID) процесса «Svchost.exe». Теперь откройте вкладку «Службы» (Services) в Диспетчере задач и отсортируйте список по столбцу «ИД процесса» (PID). Найдите нужный идентификатор и посмотрите описание, чтобы понять назначение службы Windows 7 (рис. F).
Сведения, к сожалению, весьма скудные, но хотя бы позволяют понять, какая именно служба запустила процесс «Svchost.exe».
А вам приходилось использовать Диспетчер задач для поиска информации о запущенных процессах Windows 7? Поделитесь своим опытом в комментариях!
Автор: Greg Shultz
Перевод SVET
Оцените статью: Голосов
Источник
Как узнать PID (идентификатор процесса) в Windows
В данной статье показаны действия, с помощью которых можно узнать PID (идентификатор процесса) в операционной системе Windows.
Идентификатор процесса (process identifier, PID) — уникальный номер процесса в операционной системе Windows.
Все процессы имеют уникальные идентификаторы PID, которые автоматически присваиваются каждому процессу когда он создается в операционной системе, что позволяет ядру системы различать процессы.
При необходимости можно узнать PID (идентификатор процесса).
Как узнать PID (идентификатор процесса) в диспетчере задач
Теперь найдите нужный процесс, и в столбце ИД процесса будет отображен идентификатор соответствующего процесса.
Как узнать PID (идентификатор процесса) в командной строке
Также узнать PID (идентификатор процесса) можно используя командную строку.
Запустите командную строку и выполните следующую команду:
Найдите нужный процесс, в столбце PID будет отображен идентификатор процесса.
Также можно отобразить процессы в виде списка, для этого в командной строке выполните следующую команду:
Найдите нужный процесс, в строке PID будет отображен идентификатор процесса.
Используя рассмотренные выше действия, можно узнать PID (идентификатор процесса) в операционной системе Windows.
Источник
Finding the process ID
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.
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.
If you installed the Windows Driver Kit in the default directory on a 64 bit PC, the debugging tools are located here:
C:Program Files (x86)Windows Kits10Debuggersx64
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.
Источник
Как узнать какой порт использует программа
На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.
Определения порта программы стандартными средствами Windows
Поиск идентификатора процесса PID
1. Открываем командную строку: сочетание клавиш и вводим команду CMD.
2. Запускаем tasklist и находим PID процесса.
Если необходимо отобразить полный список процессов, в том числе служебных и системных, необходимо использовать tasklist без аргументов.
Команда tasklist /fi «status eq running» найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.
Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.
Поиск порта процесса
Для получения списка используемых портов воспользуемся утилитой командной строки netstat.
B netstat были использованы слtдующие аргументы:
В результате будет получен довольно крупный список активных сетевых соединений, среди которых необходимо найти соединение с нужным PID.
В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.
Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.
Программы для просмотра сетевых соединений
Этот способ подойдет для тех, кто не хочет погружаться в работу утилит командной строки Windows, а желает быстро и просто получить информацию о портах, которые использует программа, в графическом интерфейсе.
TCPView
CurrPorts
Из плюсов программы следует отметить наличие русского языка. Чтобы русифицировать программу нужно скачать отдельный файл русификации и положить его в папку с программой.
Источник
Поиск и сравнение процесса
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Поиск процесса на c++
ПОМОГИТЕ ПЛИЗ. Программирую на с++ builder 6. Задача: 1-е проверить наличие процесса.
Поиск процесса по имени
Такой вопрос: я ввожу с клавиатуры имя процесса и можно ли проверить, запущен ли процесс с таким.
Поиск процесса по имени
Помогите написать программу поиска процесса по имени на MS Visual Studio 2010.
Добавлено через 1 час 0 минут
Модифицированный вариант с поиском файла в произвольной папке и обработкой каждого найденного PID для найденного имени файлапроцесса:
Решение
Добавлено через 5 минут
что-то типа
чтобы точнее, надо поизучать help по wmic process
Добавлено через 1 минуту
под XP wmic работает,
a ежели чо, проверить наличие SP3.
Добавлено через 4 часа 6 минут
ну вот, появился у меня windows под рукой, поэтому,
чтобы перезапустить процесс, зная его исполняемый путь
doit.bat:
Поиск окон процесса
Привет, подскажите пожалуйста какие функции надо использовать в моем случае, никак не могу найти.
Поиск процесса по имени
Здравствуйте, помогите пожалуйста перевести с Lua код поиск процесса по имени, на язык.
Поиск процесса по имени
Нужно написать функцию которая будет искать запущен ли процесс (имя процесса за ранние известно).
поиск скрытого процесса.
у меня в системе завёлся скрытый процесс я знаю только имя файла «000.exe» мне надо на нулевом.
Источник