Домашня » як » Як убити настільний додаток або фоновий процес на Linux

    Як убити настільний додаток або фоновий процес на Linux

    У Windows є Ctrl + Alt + Delete, а у Mac-ов Command + Option + Escape, щоб примусово закрити програми. У Linux є свої способи "вбивати" ті непрацюючі процеси, будь то графічні вікна або фонові процеси.

    Точні графічні засоби, які можна використовувати, залежатимуть від середовища робочого столу, оскільки кожне робоче середовище приносить до таблиці різні інструменти. Але більшість з них досить схожі.

    З графічного робочого столу

    Сучасні настільні комп'ютери з Linux мають справу з цим досить добре, і це може бути дивно автоматичним. Якщо програма не відповідає, робочий стіл з менеджером композиції часто буде сірим у всьому вікні, щоб показати, що він не відповідає.

    Натисніть кнопку X на заголовку вікна, а менеджер вікон часто повідомлятиме вам, що вікно не відповідає. Ви можете дати йому деякий час, щоб відповісти або натиснути на опцію, наприклад, "Примусить вийти", щоб закрити програму.

    У Linux менеджер вікон, який малює заголовки, окремо від самої програми, тому він зазвичай відповідає, навіть якщо вікно не буде. Деякі вікна розмальовують власні інтерфейси, тому це може не завжди спрацювати.

    Програма "xkill" допоможе вам швидко вбити будь-яке графічне вікно на робочому столі.

    Залежно від вашого робочого середовища та його конфігурації, ви можете активувати цей ярлик, натиснувши Ctrl + Alt + Esc. Ви також можете просто запустити команду xkill - відкрити вікно терміналу, ввести xkill без лапок і натисніть Enter. Або ви можете натиснути ярлик, як Alt + F2, який відкриває діалогове вікно "Run Command" на робочому столі Unity Unbuntu та багатьох інших. Тип xkill у діалоговому вікні та натисніть Enter.

    Курсор зміниться на X. Клацніть на вікні, і утиліта xkill визначить, який процес пов'язаний з цим вікном, а потім негайно вб'є цей процес. Вікно миттєво зникне і закриється.

    Можливо, у вашому робочому столі на Linux є інструмент, який працює так само, як і менеджер завдань у Windows. На робочому столі Unity на робочому місці Ubuntu, GNOME та інших робочих столах на основі GNOME це утиліта System Monitor. Відкрийте утиліту системного монітора, щоб переглянути список запущених програм - включаючи фонові. Ви також можете примусово вбити процеси звідси, якщо вони неправильно поводяться.

    Від терміналу

    Припустимо, ви хочете зробити все це з терміналу. Ми розглянули багато утиліт, які можна використовувати для цього, коли ми розглядали команди для керування процесами на Linux.

    Скажімо, Firefox працює у фоновому режимі, і ми хочемо вбити його з терміналу. У стандартній команді kill виконується ідентифікатор процесу, тому вам потрібно знайти його спочатку.

    Наприклад, можна виконати команду, наприклад:

    ps aux | grep firefox

    Котрий буде перелічувати всі процеси і трубу цього списку до команди grep, яка фільтруватиме та друкуватиме лише рядки, що містять Firefox. (Другий рядок ви побачите сам процес grep.) Ви також можете отримати ідентифікатор процесу з верхньої команди та багатьох інших місць.

    Візьміть ідентифікаційний номер процесу з процесу Firefox - праворуч від імені користувача - і надайте його команді kill. Тобто виконати команду так:

    kill ####

    Якщо процес виконується як інший користувач, вам потрібно спочатку стати користувачем root або, принаймні, запустити команду kill з командою sudo, наприклад:

    sudo kill ####

    Це основний метод, але він не є найшвидшим. Команди pgrep і pkill допомагають упорядкувати це. Наприклад, запустіть "pgrep firefox", щоб побачити ідентифікатор процесу запущеного процесу Firefox. Потім ви можете подати цей номер до команди kill.

    Або пропустіть все це і запустіть "pkill firefox", щоб уникнути процесу Firefox, не знаючи його номера. pkill виконує деяку базову відповідність шаблонів - він намагатиметься знайти процеси з іменами, що містять firefox.

    Команда killall подібна до pkill, але трохи більш точна. Він знищить всі запущені процеси з певним ім'ям. Таким чином, запуск "killall firefox" знищить всі запущені процеси з ім'ям "firefox", але не будь-які процеси, які просто мають firefox у своїх іменах.


    Це далеко не єдині команди, включені в Linux для керування процесами. Якщо ви використовуєте певне програмне забезпечення для адміністрування сервера, воно також може мати корисні способи знищення та перезапуску процесів.

    Системні служби працюють відмінно від процесів - вам потрібно буде використовувати спеціальні команди, щоб збити, перезапустити або вивести служби. Ці конкретні команди можуть бути різними на різних дистрибутивах Linux.

    Кредит на зображення: Лі на Flickr