Щоб вбити процес Linux, вам потрібен його ідентифікатор або його назва. Якщо все, що ви знаєте, це порт, яким він користується, чи можете ви все -таки його вбити? Так, декількома різними способами.
Процеси вбивства
Іноді a Процес Linux може стати невідповідальним. Це може припинити діяльність правильно, або може продовжувати працювати, але ігнорувати запити, щоб він закрився, або почати пам’ять, ЦП або пропускна здатність мережі.
Незалежно від ваших мотивів, є способи вбити процес з командного рядка Linux. Класичний метод полягає у використанні
Команда вбивства з ідентифікатором процесу
процесу, який ви хочете припинити. З
убити
Команда має близьких родичів. З
pkill
Команда вб'є процес по імені та
кіллл
Вбить усі процеси, які він може знайти частину імені.
Якщо все, що ви знаєте про процес, це використання порту на вашому комп’ютері, все ж є способи визначити та вбити його. У мережевому плані "порт" може означати фізичне з'єднання, в яке ви вставляєте кабель з вилкою на кінці, наприклад CAT5 або 6 мережевого ведучого або це може означати програмний порт.
Програмний порт - це остаточна частина мережевого з'єднання. З IP-адреса пристрою ідентифікує комп'ютер або інший мережевий пристрій. Програми всередині комп'ютера використовують різні порти. Вони забезпечують ще один рівень деталізації. Мережевий трафік надійшов на правильний комп'ютер за допомогою IP -адреси, а за допомогою адреси порту його можна доставити до правильної програми.
Це як поштова пошта, що прибуває до готелю, а потім відсортувати та доставити у відповідні номери. IP -адреса схожа на вуличну адресу готелю, а номери номерів схожі на номери портів.
Якщо ви бачите мережеву активність на порту і не визнаєте процес, який його генерує, або його поведінка є проблематичною чи підозрілою, ви можете захотіти вбити процес. Навіть якщо все, що ви знаєте, - це номер порту, ви можете відстежити процес і вбити його.
Створення зв’язків із SOCAT
Щоб у нас є деякі зв’язки для вбивства, ми будемо використовувати
соцат
Для створення мережевих з'єднань за допомогою різних протоколів. Вам потрібно буде встановити
соцат
. Щоб встановити його на Ubuntu, використовуйте цю команду:
Синтаксис для
соцат
є просто, якщо трохи довго вигадливо. Нам потрібно надати адреси джерела та призначення. Для кожного з них нам потрібно надати протокол, IP -адресу та номер порту. Ми можемо замінити stdin або stdout як джерело або місце призначення.
Ця команда створює з'єднання між розеткою прослуховування TCP на порту 7889, на IP -адресі петлі 127.0.1 та stdout. Амперсанд "
& amp;
”
запускає команду на задньому плані
, щоб ми зберігали доступ до командного рядка.
Ми створимо ще два з'єднання, щоб у нас був невеликий вибір розетків, використовуючи різні протоколи. Ми створимо a UDP -з'єднання і SCTP -з'єднання . Єдина частина команди, яка змінюється, - це протокол.
Використання Kill
Звичайно, ми можемо використовувати
убити
Для припинення процесу, доки ми знаємо, що таке ID процесу. Щоб знайти PID, ми можемо використовувати
з
LSOF
командування
.
Щоб перелічити деталі процесу на порту 7889, які використовують протокол TCP, ми використовуємо
-i
(Інтернет -адреса), як це.
PID цього процесу - 3141, і ми можемо продовжувати і використовувати це за допомогою
убити
:
Ми можемо врятувати собі певні зусилля, якщо використовуємо труби. Якщо ми піддаємо вихід
LSOF
у
неуз
і
розповідати
неуз
Для пошуку рядків, які містять порт, який нас цікавить - 7889 - і надрукуйте друге поле з цього рядка, ми виділимо PID.
Потім ми можемо подати вихід з
неуз
в
убити
Команда за допомогою
xargs
. З
xargs
Команда приймає трубопровідний вхід і передає його іншій команді
як параметри командного рядка
. Ми будемо використовувати
xargs
з
убити
команда.
Ми не отримуємо жодних візуальних відгуків. Типовим способом Linux жодна новина не є хорошою новиною. Якщо ви хочете перевірити, чи було припинено процес, ви можете використовувати
LSOF
ще раз.
Оскільки
LSOF
Нічого не повідомляє, ми знаємо, що такого зв’язку немає.
Ми можемо видалити процес за допомогою протоколу UDP, просто замінивши "TCP" на "UDP" в нашій попередній команді.
Ми можемо використовувати
з
СС
командування
Для цього. Ми використовуємо
-S
(SCTP) Опція пошуку розетки SCTP,
-A
(усі) варіант пошуку всіх типів розетків (прослуховування, прийняття, підключення тощо) та
-П
(процеси) Опція, щоб перелічити деталі процесу за допомогою розетки.
Ми можемо проаналізувати цей вихід за допомогою
греп
і
неуз
. Ми також могли проаналізувати його за допомогою
греп
І деякі Perl Regexes, але таким чином набагато простіше зрозуміти. Якщо ви збиралися використовувати це більше одного або двох разів, ви, ймовірно, зробите
псевдонім або функція оболонки
з нього.
Ми поставимо вихід з
СС
у
греп
і шукайте номер нашого порту, 7889. Ми вирушимо вихід із
греп
у
неуз
. У
неуз
, ми використовуємо
-Ф
(рядок сепаратора) для встановлення коми "
,
”Як поле розмежування. Ми шукаємо рядок
що містить
"PID =", і надрукуйте друге поле, що відкривається комою, з цього рядка.
Ми можемо
труба
що
неуз
Знову встановіть поле розмежувача на знак рівних "
=
”І надрукувати друге поле від
що
рядок, який буде текстом за знаком рівних.
Зараз ми виділили ідентифікатор процесу. Ми можемо використовувати
xargs
передати PID до
убити
як параметр командного рядка.
Це вбиває процес, який використовував розетку протоколу SCTP на порту 7889.
Команда фузера
З
переплітання
Команда дуже спрощує речі. Мінус полягає в тому, що він працює лише з
TCP та UDP
розетки. З іншого боку, це два найпоширеніші типи розетків, з якими потрібно мати справу. З
переплітання
Команда вже була встановлена на комп'ютерах Ubuntu, Fedora та Manjaro, які ми перевірили.
Все, що вам потрібно зробити, це використовувати
-К
(вбити) варіант та надати порт та протокол. Ви можете використовувати
-n
(Простір імен) та надайте протокол та порт, або використовуйте "формат ярлика вперед" та спочатку поставте номер порту.
Номер порту, протокол та PID закінченого процесу друкуються у вікні терміналу.
Спробуйте спочатку Fuser
Напевно, він буде встановлений на комп’ютері, над яким ви працюєте, і протокол, ймовірно, буде TCP або UDP, тому є чудовий шанс, що найпростіший спосіб працюватиме для вас.
- › OnePlus 11 тут, але з грубим стартом
- › Як заблокувати або розблокувати когось на Tiktok
- › AirPods Pro має нову конкуренцію: OnePlus Buds Pro 2
- › Microsoft Edge отримує чат AI та новий вигляд на Windows
- › Найкращі навушники для шанувальників iPhone просто потрапили на найнижчу ціну
- › Microsoft перетворює Bing в пошукову систему AI