Як вбити процес в linux

Як би там не було, рано чи пізно ми стикаємося з необхідністю вбити подглючівшій або повис процес в Linux. Так-так, деякі додатки в Linux іноді виснуть, незважаючи на стабільність свою стабільність. Саме в цих випадках вам знадобиться чудова утиліта Kill. Давайте розберемося як користуватися цією програмою.

Кожен процес в Linux має свій ідентифікатор, званий PID. Перед тим, як виконати зупинку процесу, потрібно визначити його PID. Суть полягає в тому, що нам необхідної знайти цей ідентифікатор, відкриємо наприклад будь-яку програму і спробуємо знайти її ідентифікатор.

Ідентифікатор завислого процесу

Для пошуку нам знадобляться команди ps і grep. Команда ps - виведе для нас список активних процесів в системі та інформації про них, а команда grep - буде виконувати пошук за результатами команди ps. Отже відкриємо термінал (ctrl + alt + t) і подивимося на активні процеси

Як ви вже встигли помітити список дуже великий і гортати його для пошуку потрібного нам процесу - зайва трата часу, для цього ми і скористаємося чудовою програмою grep. Щоб знайти потрібний нам процес необхідно після введення grep вказати шукане нами додаток. На прикладі Viber, це виглядає так:

Як вбити процес в linux

У першому рядку запущене застосування viberwrapper-indicator, про це додатку можна почитати тут. Повторюючи рядок безпосередньо сам Viber який ми і будемо сьогодні «гасити», але що ж за третій рядок? Третій процес це сам процес grep. так як в якості параметра пошуку ми вказали слово viber, і grep знайшов сам себе у висновку команди ps.

Є ще один більш простий спосіб дізнатися PID процесу - це команда pidof. яка приймає як параметр назва процесу і виводить його PID. Будьте уважні до регістру, якщо назва процесу починається з великої літери, а ви напишете його з маленької (або навпаки), то pidof його НЕ нейдет

Як вбити процес в linux

Як ви вже встигли помітити мені видало 3 рядки з активним застосуванням Viber

Завершення процесу або простіше кажучи «Вбивство»

Тепер нам став відомий ідентифікатор процесу Viber і ми маємо можливість його «Убити»:

Взагалі команда kill призначена для посилки сигналу процесу. За замовчуванням, якщо ми не вказуємо ніякі атрибути, надсилається сигнал SIGTERM (від слова termination - завершення). SIGTERM вказує процесу на те, що необхідно завершитися. Кожен сигнал має свій номер. SIGTERM має номер 15. Список всіх сигналів (і їх номерів), які може послати команда kill. можна вивести, виконавши kill -l. Щоб послати сигнал SIGKILL (він має номер 9) процесу 22697, виконайте в командою рядку:

Сигнал SIGTERM може і не зупинити процес (наприклад, при перехопленні або блокування сигналу), SIGKILL ж виконує знищення процесу завжди, так як його не можна перехопити або проігнорувати.
Подивитися повний список атрибутів можна виконавши команду