logo

Як припинити процес у Linux?

В операційній системі є багато програм, які розміщуються в оперативній пам’яті комп’ютера. Ці програми можуть запускатися самою ОС або користувачем, такі програми називаються 'Процеси .' Зазвичай процес має свій життєвий цикл і припиняється самостійно, коли він завершується або коли ми виходимо з нього вручну. Але іноді процес може зависнути через помилку в плануванні процесу або через споживання великої кількості оперативної пам’яті чи ЦП. У таких випадках нам потрібно зупинити процеси вручну, щоб уберегти нашу машину від несподіваного зависання.

Linux дозволяє використовувати різні інструменти для припинення помилкового процесу. Щоб припинити процес, ми повинні мати інформацію про процес, наприклад PID, сигнал тощо .

Розташування процесів

Щоб припинити процес, ми маємо отримати доступ до інформації про процес. Існують різні команди для відстеження процесу, наприклад зверху , ps , захоплення, і підоф.

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

Розташування процесів командою 'top'

The зверху Команда використовується для переліку всіх запущених процесів у системі Linux. Він відображає детальну інформацію, таку як PID, ім’я користувача, використання ЦП, час, виконану команду тощо.

Щоб знайти процеси, виконайте таку команду:

зробити сценарій оболонки виконуваним
 top 

Наведена вище команда відобразить запущені процеси. Розглянемо наведений нижче результат:

Закрити процес Linux

Ми можемо переглядати процеси, прокручуючи вгору та вниз на терміналі. Команда top надає різноманітні фільтри для фільтрації процесів, наприклад назву процесу, використання ЦП тощо. Щоб вийти з верхнього розділу, натисніть 'q' ключ, він поверне вас до терміналу. Однак ми також можемо скористатися традиційним варіантом виходу, натиснувши CTRL+ C ключі.

Пошук процесів за допомогою команди ps і grep

The ps Команда — ще один спосіб відображення інформації про процес. Є багато параметрів, які використовуються з командою ps, наприклад до, що означає:

а: Для відображення процесів для всіх користувачів

в: Для відображення процесів, які використовує конкретний користувач

x : Щоб показати всі процеси. Якщо ми не вкажемо опцію x, процес GUI не відображатиметься.

Виконайте команду нижче, щоб отримати список усіх запущених процесів:

 ps aux 

Розглянемо наведений нижче результат:

Закрити процес Linux

Результат команди ps подібний до зверху команда. Ім'я процесу та PID наведено в перших двох стовпцях, а ім'я процесу вказано в самому правому стовпці.

Команда ps є більш корисною, ніж команда top. Це дозволяє нам фільтрувати вихідні дані за допомогою команди grep.

Припустимо, ми хочемо відфільтрувати весь процес за допомогою імені користувача javatpo+, виконайте команду наступним чином:

 ps aux | grep javatpo+ 

Наведена вище команда відфільтрує всі вказані процеси командою grep. Розглянемо наведений нижче результат:

Закрити процес Linux

Наведений вище результат надає команду ps, а також функціональність команди grep разом.

Пошук процесу за допомогою команд pidof і pgrep

The підоф команда також дозволяє нам знайти процес. Якщо ми хочемо відстежувати процес за його назвою, команда pidof буде дуже корисною. Він відображає PID процесів, коли він використовується з назвою процесу.

Щоб знайти PID процесу, виконайте команду pidof таким чином:

 pidof process_name 

Якщо у нас є запущений процес із точною назвою хром , виконайте наведену нижче команду, щоб отримати його PID.

 pidof chrome 

розгляньте наведений нижче результат:

Закрити процес Linux

Знищення процесу

Тепер, коли ми відстежили процеси, ми можемо вбити процес. Існують різні команди, які використовуються для завершення процесу, наприклад вбити , вбити , верх, і pkill.

Перш ніж вбити процес, необхідно знати, які процеси ми можемо вбити. Нижче наведено деякі важливі моменти щодо процесів умертвлення:

  • Якщо ви звичайний користувач, то ви можете вбити лише ті процеси, які вам належать. Ви не можете зупинити процеси, які виконуються іншими користувачами. The зверху і ps до команди відображають користувачів із відповідним процесом.
  • Користувач root може вбити всі процеси. Однак ми також можемо додати sudo перед будь-якою командою, щоб виконати її як root.
  • У Linux, коли процес припиняється, до процесів передається спеціальний сигнал. Хоча в Linux існують різні типи сигналів, але в цьому випадку Linux має справу з СІГКІЛЛИ і ТЕРМІН сигнали. За замовчуванням. Linux надсилає SIGTERM, який акуратно завершує процес. Якщо ви хочете примусово припинити процес, використовуйте замість цього SIGKILL.
  • Linux зберігає статус процесів до повного видалення із системи. Отже, дочірні процеси відображатимуться у списку процесів, доки не буде видалено батьківський процес.
  • Ми не можемо вбити процес, якщо він присутній «безперервний сон .' Ця ситуація виникає, коли процес виконує операцію введення/виведення. Цей стан можна побачити у 8тисколонка зверху і ps до команди.

Знищення процесу командою killall

Команда killall — це найпростіший спосіб зупинити процес, якщо ви знаєте точну назву процесу, він не запущений жодним іншим користувачем і він не перебуває в стані Z або D. У команді kill all немає необхідності знаходити процес або PID. Щоб припинити процес, виконайте таку команду:

 killall firefox 

Наведена вище команда призведе до завершення процесу та виходу з браузера firefox. Розглянемо наведений нижче результат:

Закрити процес Linux

Якщо команда успішно завершить процес, вона не дасть результатів.

Щоб примусово зупинити процес, виконайте команду killall за допомогою -SIGKILL наступним чином:

 killall -SIGKILL process_name 

ми також можемо використовувати -9 замість -SIGKILL.

Щоб завершити процес в інтерактивному режимі, виконайте таку команду:

 killall -i process_name 

Щоб припинити процес від імені іншого користувача, виконайте таку команду:

 sudo killall process_name 

Ми також можемо припинити процес на фіксований період часу за допомогою і прапори. Щоб зупинити процес, який виконується більше 20 хвилин, виконайте наведену нижче команду: killall -o 20m ім'я_процесу

Щоб зупинити процес, який виконується менше 20 хвилин, виконайте наведену нижче команду:

 killall -y 20m process_name 

Скорочення для використання періоду часу такі:

секунд: с

хвилин: м

години: год

днів: д

тижні: ж

місяці: М

років: р

Закрийте процес за допомогою команди pkill

Іноді ми не знаємо точної назви процесу; у такому випадку команда pkill буде найкориснішою утилітою для завершення процесу. Це дозволяє нам завершити процес, ввівши відповідну назву процесу. Наприклад, ми хочемо вбити всі процеси з відповідним іменем java, виконайте команду наступним чином:

 pkill java 

він закриє всі процеси, які містять ім’я java. Аналогічно, щоб зупинити процес firefox, виконайте таку команду:

 pkill fire 

Розглянемо наведений нижче результат:

Закрити процес Linux

Якщо команда pkill виконана успішно, вона не відобразить жодного виводу.

Щоб примусово припинити процес за допомогою команди pkill, виконайте її наступним чином:

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

Закрийте процес за допомогою команди kill

Команда kill є найпростішою утилітою для завершення процесу; все, що нам потрібен PID процесу. Коли ми отримуємо PID процесу, процес стає прямим. Щоб завершити процес, виконайте команду kill, а потім PID. Щоб знайти PID процесу, використовуйте команду top або ps aux, як пояснено вище.

Щоб припинити процес із PID 5296, виконайте таку команду:

 kill 5296 

Щоб примусово припинити процес, використовуйте параметр -SIGKILL або -9:

 kill -SIGKILL 5296 

Наведена вище команда завершить процес із PID 5296.

Знищити процес верхньою командою

Команда top дозволяє нам знайти та припинити процес. Це простий процес, щоб завершити процес за допомогою команди top. Спочатку виконайте верхню команду, щоб знайти процес, і натисніть 'к' під час виконання команди. Він занурить вас у режим завершення процесу, введіть PID процесу, який ви хочете припинити. Розглянемо наведений нижче результат:

Закрити процес Linux

Як ми бачимо з наведеного вище результату, є варіант 'PID для сигналу/знищення' щоб завершити процес із наведеного вище списку процесів. Введіть PID процесу та натисніть ENTER ключ.

Якщо ми залишимо PID порожнім, це призведе до завершення самого верхнього процесу.

Закрийте процес системним монітором

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

Крок 1: Знайдіть або перегляньте системний монітор, натисніть enter, щоб відкрити його.

Крок 2: У ньому буде перераховано всі запущені процеси вашої системи Linux. Розгляньте зображення нижче:

Закрити процес Linux

крок 3: Перегляньте процес і клацніть правою кнопкою миші на ньому, який ви хочете завершити.

крок 4: Виберіть опцію «Вбити». Крім того, ми можемо використовувати CTRL+K ключі, щоб убити його.