[ad_1]
Каждый раз, когда программа выполняется, ядро создает процесс, связанный с программой. Проще говоря, процесс — это запущенный экземпляр программы в Linux.
Процесс, созданный ядром, называется «Родительский процесс‘. Процессы, производные или порожденные родительским процессом, известны как «Дочерние процессы‘. Родительский процесс может состоять из нескольких дочерних процессов, каждый из которых имеет уникальный ПИД (Идентификатор процесса), но разделяя то же самое PPID.
В этом руководстве мы рассмотрим различные способы, которые вы можете использовать для определения идентификаторов родительских процессов (PPID) или процессов в системе Linux.
В чем разница между PID и PPID?
Программа, загружаемая в память и работающая, называется процессом. После запуска процессу присваивается уникальный номер, известный как идентификатор процесса (ПИД), который однозначно идентифицирует его в системе. К процессу можно обратиться в любое время, используя его ПИД. Например, чтобы убить процессвы должны знать его ПИД первый.
В добавок к ПИДкаждому процессу назначается родительский процесс Я БЫ (PPID), который показывает, какой процесс его породил. Таким образом PPID это ПИД родителя процесса.
Чтобы поместить это в контекст, давайте предположим, что процесс 5 с ПИД из 5050 запускает процесс 6. Процессу 6 будет присвоен уникальный ПИД Такие как 6670но все равно будет предоставлено PPID из 5050.
Родительским процессом здесь является процесс 5 и дочерний процесс 6. Дочернему процессу присваивается уникальный ПИД но PPID совпадает с PID родительского процесса (процесс 5)
Один родительский процесс может запускать несколько дочерних процессов, каждый из которых имеет уникальный PID, но все используют один и тот же процесс. PPID.
Найти идентификатор родительского процесса (PPID) в Linux
Существует два основных подхода к поиску PPID запущенного процесса в системе Linux:
- С помощью команды pstree.
- С использованием пс команда.
Найти PPID процесса Linux с помощью команды pstree
А pstree command — это инструмент командной строки, который отображает запущенные процессы в виде дерева, что обеспечивает удобный способ отображения процессов в иерархии. Он показывает отношения родитель-потомок в древовидной иерархии.
С -p
вариант, pstree отображает все запущенные родительские процессы вместе с соответствующими им дочерними процессами и соответствующими PID.
$ pstree -p
Из вывода мы можем видеть идентификаторы родительских процессов вместе с идентификаторами дочерних процессов.
Для демонстрации мы собираемся проверить PPID за Мозилла Фаерфокс вместе со всей иерархией процессов с помощью следующей команды:
$ pstree -p | grep 'firefox'
Из вывода видно, что PPID из Fire Fox является 3457 а остальные PID дочерних процессов.
Для отображения только PPID Firefox и пропустите остальную часть вывода, направьте вывод в головная команда с -1
для отображения первой строки.
$ pstree -p | grep 'firefox' | head -1
Найти PPID процесса Linux с помощью команды ps
Другой вариант поиска PPID процесса – это пс командакоторая является широко используемой командой, отображающей текущие запущенные процессы в системе Linux.
При использовании с -ef
вариант, пс команда перечисляет все запущенные процессы вместе с их деталями, такими как UID, ПИД, PPIDтак далее.
$ ps -ef
Чтобы сузить его и отобразить PPID определенного процесса, например, Fire Foxпройти -e
вариант и направить вывод в команда grep как показано.
$ ps -e | grep 'firefox'
Еще раз, из вывода вы можете видеть, что PPID из Fire Fox является 3457.
В этом руководстве мы продемонстрировали, как вы можете найти PPID процессов, работающих в системе Linux. Вы можете использовать либо pstree команда или пс команда прийти к той же цели.
[ad_2]
Source link