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

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

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

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

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

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

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

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

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

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

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

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

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

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

Источник

Переосмысление PID 1. Часть 1

Если у Вас есть хорошие связи или вы хорошо читаете между строк, вы уже могли догадаться о чем этот блог-пост. Но тем не менее Вы можете найти эту историю интересной. Так что хватайте чашку кофе, садитесь поудобнее, и читайте, что грядет.

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

Идентификатор процесса 1

В каждой Unix системе есть один процесс с специальным идентификатором 1. Он запускается ядром перед всеми последующими процессами, и он является также родительским процессом для всех последующих/остальных процессов кто не смог найти себе родителя. Вследствие, он может делать много того чего не могут позволить себе другие процессы. Также он несет ответственность за некоторые вещи за которые не отвечают другие процессы, например, за поднятие и поддержку юзерспейса во время загрузки системы.

Исторически в Linux, программное обеспечение действующее как PID 1 был многоуважаемый пакет sysvinit, думается он слишком долго оставался на этом поприще. Много раз предлагались замены, но только один из них был действительно принят: Upstart, который сейчас нашел свою дорогу в многие из главных дистрибутивов.

Как было упомянуто, главная ответственность системы загрузки поднятие юзерспейса (пользовательского окружения). И хорошая система загрузки должна делать это быстро. К сожалению, традиционная система загрузки SysV в действительности была не быстрой.

Запускать как можно больше параллельно означает, что, если мы запускаем что-то, мы не должны запускать это последовательно/друг за другом (как делает это sysvinit), но запускать все одновременно, так чтобы максимально использовать CPU и IO, и следовательно, общее время загрузки системы уменьшится.

Железо и софт развиваются очень динамично

Современные системы (особенно системы общего назначения) очень гибки в своих конфигурациях и использовании: они мобильны, запускают и останавливают различные приложения, добавляется и удаляется различное оборудование, снова и снова. Система загрузки ответственна за обслуживание служб по прослушиванию изменений в оборудовании и ПО. Система загрузки должна динамично запускать (иногда останавливать) службы когда они будут нужны для запуска какой-либо программы или задействования какого-либо железа.

Большинство текущих систем, которые пытаются распараллелить загрузку, продолжают синхронизировать запуск различных демонов вовлеченных в процесс: так как Avahi нуждается в D-Bus, то D-Bus стартует первым, и только тогда, когда D-Bus подаст сигнал о том, что он готов, Avahi начнет запуск. Аналогично для других служб: libvirtd и X11 нуждаются в HAL (такс, здесь я подразумеваю службы Fedora 13, не обращайте внимания на то, что HAL уже не поддерживается), следовательно, HAL стартует первым, перед libvirtd и X11. libvirtd в свою очередь, также нуждается в Avahi, следовательно он тоже будет ждать запуска Avahi. И все эти службы в свою очередь требуют syslog, и значит они все ждут пока Syslog не будет полностью инициализрован и запущен. И так далее…

Источник

Изучаем процессы в Linux. Управление процессами

Обновл. 12 Июл 2021 |

Процесс — это экземпляр запущенной программы. Всякий раз, когда в терминале выполняется какая-нибудь команда (например, команда pwd ), система создает/запускает новый процесс.

Типы процессов

В Linux существует три основных типа процессов:

Процессы переднего плана (или «интерактивные процессы») — они инициализируются и управляются с помощью терминального сеанса. Другими словами, необходимым условием для запуска таких процессов является наличие пользователя, подключенного к системе; они не запускаются автоматически как часть системных функций/служб. Когда команда/процесс выполняется на переднем плане, то они полностью занимают запустивший их терминал. Вы не сможете использовать другие команды, т.к. приглашение оболочки будет недоступно, пока данный процесс выполняется на переднем плане.

Фоновые процессы (или «автоматические процессы») — это процессы, не подключенные к терминалу; они не ожидают пользовательского ввода данных. Таким образом, другие процессы могут выполняться параллельно с процессом, запущенным в фоновом режиме, поскольку им не нужно ждать его завершения.

Демоны (англ. «daemons») — это особый тип фоновых процессов, которые запускаются при старте системы и продолжают работать в виде службы; они не умирают. Такие процессы запускаются как системные задачи (службы). Однако при этом они могут управляться пользователем через init-процесс (о котором мы поговорим чуть позже). Например, к демонам относится служба электронных сообщений sendmail и sshd — служба, принимающая от клиентов запросы на соединения по протоколу ssh. За исключением процесса init и некоторых других, процессы демонов обычно имеют окончание d в своем имени.

Как Linux идентифицирует процессы?

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

Процессы запущенной программы имеют уникальный пятизначный номер — PID (сокр. от «Process IDentificator»«идентификатор процесса»), а также PPID (сокр. от «Parent Process IDentificator»«идентификатор родительского процесса»). В связи с этим процессы дополнительно разделяют на две группы:

Родительские процессы — это процессы, которые во время своего выполнения создают другие процессы.

Дочерние процессы — эти процессы, создаваемые другими процессами во время своего выполнения.

Прародителем всех процессов в системе является процесс init (от англ. «initialization») — первая программа, которая выполняется при загрузке Linux и управляет всеми другими процессами в системе. init запускается самим ядром и всегда имеет PID = 1, поэтому у него в принципе нет родительского процесса.

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

Состояния процесса в Linux

Когда процесс передает ядру запрос, который не может быть исполнен сразу же, то процесс «погружается в сон/ожидание» и «пробуждается», когда запрос может быть удовлетворен. В связи с этим, в зависимости от текущей ситуации, процесс, во время своего выполнения, может переходить из одного состояния в другое:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Рассмотрим основные состояния процесса:

Выполнение — процесс либо запущен (текущий процесс в системе), либо готов к запуску (ожидает передачи на выполнение процессору).

Ожидание — процесс ожидает наступления некоторого события (пользовательского ввода, сигнала от другого процесса и т.п.) или выделения системных ресурсов. Кроме того, ядро также различает два типа ожидающих процессов:

прерываемые ожидающие процессы — могут быть прерваны сигналами;

непрерываемые ожидающие процессы — процессы ожидают непосредственно на аппаратном уровне и не могут быть прерваны каким-либо событием/сигналом.

Завершен — процесс был остановлен, как правило, путем получения сигнала штатного завершения работы exit().

Зомби — иногда, когда родительский процесс убивается до завершения дочернего процесса, дочерние процессы становятся «осиротевшими», при этом в качестве нового родителя (с соответствующим изменением PPID) им назначается процесс init. Убитые процессы, но при этом все еще отображающиеся в таблице процессов, называются процессами зомби (они мертвы и не используются).

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

Для отображения идентификатора нужного вам процесса можно использовать команду pidof, например:

$ pidof init
$ pidof bash
$ pidof systemd

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Чтобы вывести PID и PPID текущей оболочки, выполните:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Запуск интерактивного процесса в Linux

Как только вы выполните какую-нибудь команду или программу (например, firefox ), она создаст в системе соответствующий процесс. Вы можете запустить процесс переднего плана (он будет подключен к терминалу, ожидая пользовательского ввода) следующим образом:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Запуск фонового процесса в Linux

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

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

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

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

$ firefox #После Enter нажмите Ctrl+Z
$ jobs

Чтобы продолжить выполнение вышеупомянутой приостановленной команды в фоновом режиме, используйте команду bg (от англ. «begin»):

Чтобы отправить фоновый процесс на передний план, используйте команду fg (от англ. «foreground») вместе с идентификатором задания следующим образом:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

Существует несколько различных инструментов для просмотра/перечисления запущенных в системе процессов. Двумя традиционными и хорошо известными из них являются команды ps и top:

Команда ps

Отображает информацию об активных процессах в системе, как показано на следующем скриншоте:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

UID — идентификатор пользователя, которому принадлежит процесс (тот, от чьего имени происходит выполнение).

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

PPID — идентификатор родительского процесса.

C — загрузка CPU процессом.

STIME — время начала выполнения процесса.

TTY — тип терминала, связанного с процессом.

TIME — количество процессорного времени, потраченного на выполнение процесса.

CMD — команда, запустившая этот процесс.

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Есть и другие опции, которые можно использовать вместе с командой ps :

-a — показывает информацию о процессах по всем пользователям;

-x — показывает информацию о процессах без терминалов;

-u — показывает дополнительную информацию о процессе по заданному UID или имени пользователя;

-e — отображение расширенной информации.

Если вы хотите вывести вообще всю информацию по всем процессам системы, то используйте команду ps –aux :

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Если вы ходите выполнить сортировку по потреблению памяти (в порядке убывания), то добавьте к имени интересующего столбца знак минуса:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Еще один очень популярный пример использования команды ps — это объединение её и команды grep для поиска заданного процесса по его имени:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Команда top

Команда top отображает информацию о запущенных процессах в режиме реального времени:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

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

USER — пользователь, которому принадлежит процесс.

PR — приоритет процесса на уровне ядра.

VIRT — общий объем (в килобайтах) виртуальной памяти (физическая память самого процесса; загруженные с диска файлы библиотек; память, совместно используемая с другими процессами и т.п.), используемой задачей в данный момент.

RES — текущий объем (в килобайтах) физической памяти процесса.

SHR — объем совместно используемой с другими процессами памяти.

S (сокр. от «STATUS») — состояние процесса:

S (сокр. от «Sleeping») — прерываемое ожидание. Процесс ждет наступления события.

I (сокр. от «Idle») — процесс бездействует.

R (сокр. от «Running») — процесс выполняется (или поставлен в очередь на выполнение).

Z (сокр. от «Zombie») — зомби-процесс.

%CPU — процент используемых ресурсов процессора.

%MEM — процент используемой памяти.

TIME+ — количество процессорного времени, потраченного на выполнение процесса.

COMMAND — имя процесса (команды).

Также в сочетании с основными символами состояния процесса (S от «STATUS») вы можете встретить и дополнительные:

— процесс с высоким приоритетом;

N — процесс с низким приоритетом;

l — многопоточный процесс;

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

Команда glances

Команда glances — это относительно новый инструмент мониторинга системы с расширенными функциями:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Примечание: Если в вашей системе отсутствует данная утилита, то установить её можно с помощью следующих команд:

$ sudo apt-get update
$ sudo apt-get install glances

Управление процессами в Linux

Также в Linux присутствуют некоторые команды для управления процессами:

kill — посылает процессу сигнал завершения работы;

pkill — завершает процесс по его имени;

pgrep — ищет процесс по его имени (и, опционально, по имени запустившего его пользователя);

killall — завершает все активные процессы.

Ниже приведены несколько основных примеров их использования:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Отправка сигналов процессам

Основополагающим способом управления процессами в Linux является отправка им соответствующих сигналов. Для перечисления списка всех доступных сигналов, введите команду:

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Большинство сигналов предназначены для внутреннего использования системой или для программистов, когда они пишут код. Ниже приведены наиболее полезные сигналы:

SIGHUP (1) — отправляется процессу, когда его управляющий терминал закрыт.

SIGINT (2) — отправляется процессу управляющим терминалом, когда пользователь прерывает процесс нажатием клавиш Ctrl+C.

SIGQUIT (3) — отправляется процессу, если пользователь посылает сигнал выхода Ctrl+D.

SIGKILL (9) — этот сигнал немедленно завершает (убивает) процесс, и процесс не будет выполнять никаких операций очистки за собой.

SIGTERM (15) — сигнал завершения программы (отправляется командой kill по умолчанию).

SIGTSTP (20) — отправляется процессу управляющим терминалом с запросом на остановку; инициируется пользователем нажатием клавиш Ctrl+Z.

Ниже приведены примеры команды kill для уничтожения приложения firefox с помощью PID, после его зависания:

Изменение приоритета процесса

В системе Linux все активные процессы имеют определенный приоритет выполнения, задаваемый так называемым nice-значением. Процессы с более высоким приоритетом обычно получают больше процессорного времени, чем процессы с более низким приоритетом. Однако пользователь с root-правами может повлиять на это с помощью команд nice и renice.

Узнать значение приоритета команды можно по выводу команды top (столбец NI):

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса

Чем больше nice-значение, тем меньшим приоритетом будет обладать процесс. Например, вы можете задать приоритет для запускаемого процесса следующим образом:

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

$ renice +8 5547
$ renice +8 1151

На данный момент это всё! Если у вас есть какие-либо вопросы или дополнительные идеи, вы можете поделиться ими с нами с помощью комментариев.

Поделиться в социальных сетях:

Источник

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

PID (Process IDentificator) — идентификатор процесса многозадачной операционной системы. В операционных системах семейства Windows является целочисленным типом. [1] В операционных системах стандарта POSIX тип идентификатора определяется в каждой операционной системе индивидуально. [2] Например, в операционной системе Linux идентификатор процесса является целым типом. [3]

Примечания

Что такое идентификатор процесса. Смотреть фото Что такое идентификатор процесса. Смотреть картинку Что такое идентификатор процесса. Картинка про Что такое идентификатор процесса. Фото Что такое идентификатор процесса Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её.
Это примечание по возможности следует заменить более точным.

Полезное

Смотреть что такое «Идентификатор процесса» в других словарях:

Идентификатор пользователя — В Unix подобных операционных системах, пользователи идентифицируются идентификаторами пользователя (англ. User identifier, UID). Операционная система различает пользователей именно по UID (а не, например, по логину). Во многих системах… … Википедия

Идентификатор пользователя (Unix) — В Unix подобных операционных системах, пользователи идентифицируются идентификаторами пользователя (англ. User identifier, UID). То, что пользователя идентифицирует UID, значит, что операционная система различает пользователей именно по UID (а не … Википедия

Ps — У этого термина существуют и другие значения, см. PS. ps (от англ. process status) программа в UNIX, Unix подобных и других POSIX совместимых операционных системах, выводящая отчёт о работающих процессах. Содержание 1 Синтаксис … Википедия

Сигналы (UNIX) — У этого термина существуют и другие значения, см. Сигнал (значения). Сигналы в UNIX, Unix подобных и других POSIX совместимых операционных системах являются одним из способов взаимодействия между процессами (англ. IPC, inter process… … Википедия

UID — В Unix подобных операционных системах, пользователи идентифицируются идентификаторами пользователя (англ. User identifier, UID). То, что пользователя идентифицирует UID, значит, что операционная система различает пользователей именно по UID (а не … Википедия

Uid — В Unix подобных операционных системах, пользователи идентифицируются идентификаторами пользователя (англ. User identifier, UID). То, что пользователя идентифицирует UID, значит, что операционная система различает пользователей именно по UID (а не … Википедия

ps — У этого термина существуют и другие значения, см. PS. ps (от англ. process status) программа в UNIX, Unix подобных и других POSIX совместимых операционных системах, выводящая отчёт о работающих процессах. Содержание 1 Синтаксис … Википедия

Атака на ГПСЧ — Атака на генератор псевдослучайных чисел атака, направленная на раскрытие параметров генератора псевдослучайных чисел (ГПСЧ) с целью дальнейшего предсказания псевдослучайных чисел. Содержание 1 Актуальность 2 Типы атак на ГПСЧ … Википедия

OpenVZ — виртуализация на уровне ОС Тип виртуализация Разработчик Сообщество … Википедия

PID — Аббревиатура PID может означать: Идентификатор с участием англ. аббр. ID Process ID идентификатор процесса Product ID идентификатор продукта PID народная ассоциация, вызванная новым логотипом (p/d) ОАО РЖД PID controller ПИД регулятор … Википедия

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *