Робота з процесом Linux часто означає знати його ідентифікатор процесу або PID. Це унікальний номер, що надається кожному фрагменту запущеного програмного забезпечення. Ось два способи дізнатися, що це таке.
Що таке ідентифікатор процесу Linux?
Як отримати Linux PID за допомогою команди PIDOF
Як знайти PID за допомогою команди PGREP у Linux
Що таке ідентифікатор процесу Linux?
Внутрішньо Linux відстежує свій запускний процес, виділяючи їм унікальний ідентифікаційний номер, який називається ідентифікатором процесу або PID. Кожен запущений додаток, утиліта та демон мають PID.
PID - це прості цілі значення. Нещодавно стартовий процес отримає PID на один вище, ніж останній PID, який був виданий. Тож процес з найвищим PID є найновішим - тобто останнім часом - запущеним процесом. Це триває, поки система не потрапить на максимальне значення для PID.
Верхня межа для PID становить 32768. Після досягнення цієї фігури Linux повертається до початку і шукає PID, який стало вільним, оскільки процес, який раніше він володів.
Процес з PID 1-це перший процес, який запускається при запуску Linux за допомогою процесів завантаження. Про системи на основі системних систем, які будуть
система
. В інших системах це, ймовірно, буде
в цьому
, хоча деякі розподіли Linux використовують такі альтернативи
OpenRC
або
S6
.
Іноді корисно виявити PID процесу, як правило, тому, що ви хочете виконати певну дію в цьому процесі. Ось два різних методи пошуку PID процесу, коли ви знаєте назва процесу.
Пов'язаний: Що таке UNIX PID і як вони працюють?
Як отримати Linux PID за допомогою команди PIDOF
З
підофон
Команду можна вважати поєднанням "PID" та "OF". Це як запитати, що таке PID цього процесу? Якщо ми використовуємо команду без параметрів, вона нічого не робить. Він мовчки повертає вас до командного рядка. Нам потрібно вказати назву процесу.
підофон
говорить нам, що PID оболонки Bash - 8304. Ми можемо перевірити, що за допомогою
PS
команда. Все, що нам потрібно зробити, - це зателефонувати
PS
без параметрів. Він звітує про процеси, які проходять на поточному сеансі.
Оскільки
PS
Звіти про всі процеси, які він може знайти, які включатимуть себе, він говорить нам, що є
бити
процес і a
PS
Процес запуску. Як ми очікували,
бити
процес має той самий PID, який
підофон
повідомляється на.
Якщо у вас відкрито більше одного вікна терміналу,
підофон
повідомити про них усіх.
Зауважте, що ПІД перераховані від найвищого до найнижчого або, іншими словами, від останніх до найстаріших.
Це не свідчить про те, що ви, можливо, не є власником усіх цих процесів.
підофон
знаходить усі процеси з відповідними іменами, незалежно від того, хто їм належить. Давайте подивимось глибше, перебираючи вихід у
греп
. Ми використовуємо
-е
(Виберіть усі процеси) та
-Ф
(Повний список) Параметри з
PS
.
Два процесів BASH належать користувачеві Дейву, третій належить користувачеві Мері.
Іноді одна програма генерує багато процесів, кожна з яких отримує власний PID. Це те, що ми отримуємо з Google Chrome.
За замовчуванням,
підофон
звіти про всі процеси. Якщо ми хочемо, ми можемо попросити лише останнього з цих процесів. З
-s
(Один знімок) Варіант робить саме це.
Використовувати
убити
наказувати
вручну вбити
Всі
хром
Процеси були б нудними. Якщо ми зафіксуємо список процесів у змінну, ми можемо передати цю змінну до
убити
команда. З
убити
Команда може прийняти кілька PID за своєю командою, тому вона із задоволенням приймає наш внесок і вбиває всі процеси для нас.
Перша команда збирає вихід із
підофон
і призначає його нашій змінній, яку ми називаємо
пінопласт
. Нам не потрібно
відлуння
На екрані ми просто робимо це, щоб показати, що має наша змінна.
Ми передаємо змінну до
убити
команда, потім використовуйте
підофон
Ще раз перевірити, чи залишаються якісь процеси хрому. Всі вони були вбиті.
Одна химерна
підофон
полягає в тому, що він не поверне PID сценарію оболонки. Він повертає PID
бити
оболонка, яка запускає сценарій. Щоб побачити оболонку, яка запускає сценарій, нам потрібно використовувати
-x
(Сценарії) варіант.
підофон
Повертає PID баш -оболонки, і
PS
Показує нам, що проходять дві снаряди. Одна - оболонка, що працює
підофон
Команда, а інша - оболонка, що працює за сценарієм.
Як знайти PID за допомогою команди PGREP у Linux
З
піст
Команда працює трохи схоже
підофон
Отримання ідентифікаторів процесу в Linux. Однак він не просто знаходить процеси, які точно відповідають пошуку, він також повертає PID будь -яких процесів
містить
текст пошуку.
Ось приклад на комп’ютері, на якому працює Firefox.
Усі ці команди знаходять процес Firefox і повертають PID. Але якщо ви ввели команду:
Саме по собі, як би ви знали, чи знайшов Pgrep Fi переробляти x, а не, скажімо, дамеон під назвою p перепона MD?
Якщо додати
-л
(Назва списку) Параметр, PGREP перелічить назву процесу поряд з PID.
Якщо є кілька екземплярів процесу відповідності, всі вони перераховані.
Зауважте, що вони перераховані у порядку зростання, що є протилежним порядку до виходу з
підофон
. Вони перераховані від найдавнішого процесу до найновішого процесу. Як ми бачили з
підофон
, не всі перелічені процеси обов'язково належать вам.
З
-У
(Ідентифікатор користувача) Дозволяє шукати процеси, які відповідають тексту пошуку, і належать названому
користувач
.
Цього разу ми бачимо три процеси баш в результатах. Інший використовується
Марії
.
І ми можемо попросити побачити всі процеси для конкретного користувача.
Щоб побачити повний командний рядок, використовуйте
-A
(повний список) опція.
Слово про власність PID
Не всі системні процеси належать root користувач . Багато хто, звичайно, але не всі. Наприклад, ця команда працює:
Це не вдається, тому що
корінь
не володіє цим процесом. Справжній власник - це система користувача під назвою "Avahi". Використовуючи правильне ім'я користувача, команда працює.