Как найти родительский процесс в Linux?

Как найти родительский процесс в Linux Программирование и разработка

Во время выполнения программы ядро ​​создает процесс, который помогает сохранять детали выполнения программы в системной памяти. Когда программа выполняется, она становится процессом для системы. Итак, мы можем сказать, что процесс — это программа, пока он не выполняется.

Процесс, созданный ядром, известен как » родительский процесс «, а все процессы, производные от родительского процесса, называются » дочерними процессами «. Один процесс может состоять из нескольких дочерних процессов, имеющих уникальный PID, но с одним и тем же PPID.

У новичка может возникнуть вопрос: в чем разница между PID и PPID?

Мы уже обсуждали PID в большинстве наших статей, если вы новичок, не беспокойтесь!

В системах Linux одновременно выполняется несколько процессов. Иногда процесс может иметь один поток (блок выполнения внутри процесса) или несколько потоков. Процессы имеют разные состояния; они могут находиться в состоянии ожидания, готовности или работы. Все дело в том, как пользователь или ядро ​​расставляют приоритеты. Итак, эти процессы идентифицируются уникальными номерами, которые мы называем идентификатором процесса (PID). Уникальные номера для родительских процессов называются PPID, и каждый родительский процесс может иметь несколько дочерних процессов с их уникальными идентификаторами. PID дочерних процессов отличаются, поскольку они представляют собой отдельные исполнительные единицы, но имеют один и тот же идентификатор родительского процесса ( PPID ).

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

Давайте проверим, как мы можем найти PPID:

Как найти идентификатор родительского процесса (PPID) в Linux

У нас есть несколько подходов к поиску PPID запущенного процесса в системах Linux:

  1. Использование команды «pstree»
  2. Использование команды «ps»
Читайте также:  Введение в Python Falcon

Как найти PPID с помощью команды pstree в Linux

Команда » pstree » — хороший подход для определения идентификатора родительского процесса (PPID), поскольку она показывает отношения родитель-потомок в древовидной иерархии.

Введите в терминале просто команду » pstree » с параметром » -p «, чтобы проверить, как он отображает все запущенные родительские процессы вместе с их дочерними процессами и соответствующими PID.

pstree –p

хороший подход для определения идентификатора родительского процесса

Он показывает родительский идентификатор вместе с идентификаторами дочерних процессов.

Давайте рассмотрим пример „Mozilla Firefox“, чтобы получить его PPID вместе с полной иерархией процессов. Выполните в терминале следующую команду:

pstree -p | grep “firefox”

чтобы получить его PPID вместе с полной иерархией процессов

( grep — это инструмент командной строки, который помогает искать определенную строку)

В упомянутых результатах мы видим, что 3528 — это PPID процесса » Firefox «, а все остальные — дочерние процессы.

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

pstree -p | grep “firefox” | head -1

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

Как найти PPID с помощью команды ps

Утилита команды » ps » — это еще один способ обрабатывать информацию из файловой системы » / proc » и отслеживать ее.

С помощью этой команды пользователь также может найти PPID и PID запущенного процесса.

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

ps -ef

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

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

ps -ef | grep “firefox”

используется для перечисления деталей процесса

( опция » -f » используется для перечисления деталей процесса)

А чтобы получить только PPID » Firefox «, используйте следующий синтаксис:

ps -e | grep [process_name]

Итак, найдите PPID » firefox » с помощью команды:

ps -e | grep “firefox”

Итак, найдите PPID firefox с помощью команды

Заключение

При каждом выполнении программы ядро ​​создает процесс, который загружает детали выполнения в память. Этот созданный процесс известен как родительский процесс, имеющий один или несколько потоков. Каждому процессу ядро автоматически присваивает уникальный PPID и PID.

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

Идентификаторы PPID запущенных процессов можно определить несколькими способами. Самый простой подход — использовать команду » ps » и » pstree «.

Выше мы видели, как с помощью этих двух командных инструментов можно узнать PPID конкретного процесса.

Оцените статью
bestprogrammer.ru
Добавить комментарий