Работа с процессом Linux часто означает знание его идентификатора процесса или PID. Это уникальное число, данное каждому фрагменту программного обеспечения. Вот два способа выяснить, что это такое.
Что такое идентификатор процесса Linux?
Как получить PID Linux с командой Pidof
Как найти PID с командой PGREP в Linux
Что такое идентификатор процесса Linux?
Внутренне Linux отслеживает свой процесс работы, выделяя их уникальный идентификационный номер, называемый идентификатор процесса или PID. Каждое работает приложение, утилита и Daemon имеет PID.
PIDS - это простые целочисленные значения. Недавно запущенный процесс получит PID на один выше, чем последний PID, который был выпущен. Таким образом, процесс с самым высоким пидом является новейшим, то есть совсем недавно - забитый процесс. Это продолжается до тех пор, пока система не достигнет максимального значения для PID.
Верхний предел для PID составляет 32768. Как только этот рисунок достигнут, Linux возвращается к началу и ищет пид, который стал свободным, потому что процесс, который ранее владел им, прекратился.
Процесс с PID 1 является первым процессом, который запущен, когда Linux запускается процессами загрузки. В системных системах, которые будут
система
Анкет В других системах это может быть
в этом
, хотя некоторые распределения Linux используют альтернативы, такие как
OpenRC
или
S6
Анкет
Иногда полезно обнаружить пид процесса, как правило, потому, что вы хотите выполнить какие -то действия по этому процессу. Вот два разных метода поиска PID процесса, когда вы знаете имя процесса.
СВЯЗАННЫЙ: Что такое PID Unix и как они работают?
Как получить PID Linux с командой Pidof
А
пидоф
Команду можно рассматривать как комбинацию «pid» и «of». Это все равно, что спросить, какой пид этого процесса? Если мы используем команду без параметров, она ничего не делает. Он молча возвращает вас в командную строку. Нам нужно указать имя процесса.
пидоф
сообщает нам, что пид раковины Bash - 8304. Мы можем проверить это с помощью
пса
командование Все, что нам нужно сделать, это позвонить
пса
без параметров. Он сообщит о процессах, которые работают в текущем сеансе.
Потому что
пса
Отчеты обо всех процессах, которые он может найти, что будет включать в себя, он говорит нам, что есть
избиение
процесс и а
пса
Процесс работает. Как мы и ожидаем,
избиение
процесс имеет тот же пид, что и
пидоф
сообщается.
Если у вас открыт более одного окна терминала,
пидоф
сообщит обо всех них.
Обратите внимание, что PID перечислены от самых высоких до самых низких или, другими словами, от самых последних до самых старых.
Это не показывает, что вы, возможно, не являетесь владельцем всех этих процессов.
пидоф
Находит все процессы с соответствующими именами, независимо от того, кто их владеет. Давайте посмотрим глубже, внедрив вывод в
грип
Анкет Мы используем
-Э
(выберите все процессы) и
-f
(Полный список) Параметры с
пса
Анкет
Два процесса Bash принадлежат пользователю Дейву, третий принадлежит пользователю Мэри.
Иногда одно приложение будет генерировать много процессов, каждый из которых получает свой собственный пид. Это то, что мы получаем с Google Chrome.
По умолчанию,
пидоф
Отчеты обо всех процессах. Если мы хотим, мы можем попросить только самые последние из этих процессов. А
-с
(Одиночный снимок) опция делает именно это.
Использовать
убийство
командовать
вручную убить
Все
хром
Процессы будут утомительными. Если мы зафиксируем список процессов в переменную, мы сможем передать эту переменную
убийство
командование А
убийство
Команда может принять несколько PID по своей команде, поэтому она с радостью принимает наш вклад и убивает все процессы для нас.
Первая команда собирает выход из
пидоф
и присваивает это нашей переменной, которую мы называем
пид
Анкет Нам не нужно
эхо
На экране мы просто делаем это, чтобы показать, что удерживает наша переменная.
Мы передаем переменную в
убийство
команда, затем используйте
пидоф
Еще раз, чтобы проверить, остаются ли какие -либо хромированные процессы. Все они были убиты.
Одна причуда
пидоф
это то, что он не вернет пид сценария оболочки. Он возвращает пид
избиение
оболочка, которая запускает сценарий. Чтобы увидеть оболочку, которая запускает сценарий, нам нужно использовать
-Икс
(Скрипты) Опция.
пидоф
возвращает пид раковины и
пса
Показывает нам, что работают две раковины. Один из них - оболочка, управляющая
пидоф
Команда, а другая - это оболочка, использующая скрипт.
Как найти PID с командой PGREP в Linux
А
pgrep
Команда работает немного как
пидоф
При получении идентификаторов процесса в Linux. Тем не менее, он не просто находит процессы, которые точно соответствуют подсказке поиска, он также возвращает PID любых процессов, чьи имя
содержит
текст поиска.
Вот пример на компьютере, на котором работает Firefox.
Все эти команды находят процесс Firefox и возвращают PID. Но если вы ввели команду:
Само по себе, как бы вы узнали, если PGREP нашел FI реф x, а не, скажем, дамон под названием P рефера MD?
Если вы добавите
-l
(Имя списка) Опция, PGREP перечисляет имя процесса вместе с PID.
Если есть несколько экземпляров процесса сопоставления, все они перечислены.
Обратите внимание, что они перечислены в порядке возрастания, который является противоположным порядком вывода из
пидоф
Анкет Они перечислены из самого старого процесса до новейшего процесса. Как мы видели с
пидоф
, не все перечисленные процессы обязательно принадлежат вам.
А
-U
(идентификатор пользователя) Опция позволяет искать процессы, которые соответствуют тексту поиска и принадлежат по имени
пользователь
Анкет
На этот раз мы видим три процесса удара в результатах. Другой используется
Мэри
Анкет
И мы можем попросить увидеть все процессы для конкретного пользователя.
Чтобы увидеть полную командную строку, используйте
-а
(полный список) опция.
Слово о владении PID
Не все системные процессы принадлежат root user Анкет Многие, конечно, но не все из них. Например, эта команда работает:
Это терпит неудачу, потому что
корень
не владеет этим процессом. Фактический владелец - это системный пользователь под названием «Avahi». Используя правильное имя пользователя, команда работает.