Закрийте всі процеси, що належать користувачу, за допомогою pkill
Зміст:
Монітор активності та традиційний інструмент командного рядка «kill» здатні впоратися з більшістю потреб завершення процесів, але якщо вам коли-небудь доводилося виявляти ціль і знищувати всі процеси, що належать одному обліковому запису користувача, ви знаєте це може бути неприємним завданням. Хоча Activity Monitor дозволяє сортувати «Інші процеси користувача» та вибирати кілька процесів, він не дозволяє завершувати декілька процесів одночасно.Подібним чином стандартні команди kill і killall, як правило, спрямовані на конкретні процеси, а не на кожне завдання, що належить конкретному обліковому запису користувача. Ось тут і з’являється команда «pkill», яка спрощує миттєве припинення кожного окремого процесу, що належить будь-якому користувачеві, через термінал.
Як закрити всі процеси користувача за допомогою pkill
Основний синтаксис використання pkill для завершення всіх процесів користувача такий:
pkill -u ім’я користувача
Перевірте, що всі процеси, які належать цьому користувачеві, завершено за допомогою прапорця -u в команді ps:
ps -u ім’я користувача
Припускаючи, що все пройшло так, як планувалося, ви знайдете порожній список у звіті.
pkill не чутливий до регістру, тобто ім’я користувача «TestUser» ідентифікуватиметься так само, як «testuser».
Якщо ви збираєтеся випробувати це на собі, було б найкраще скористатися швидким перемиканням користувачів, щоб ініціювати новий вхід з іншим обліковим записом користувача, або скористатися сервером ssh і виконати це на іншому локальний Mac. Використання pkill для вашого власного активного імені користувача призведе до завершення всіх процесів, деякі з яких оновлюються миттєво, але багато фонових процесів не запускаються знову автоматично. Це призводить до різного роду дивної поведінки, і залежно від того, що у вас запущено, не дивуйтеся, коли виявите, що ОС стане настільки непридатною для використання, що вам доведеться або вийти з системи та знову ввійти, або навіть перезавантажитися, якщо активний користувач обліковий запис, на який націлено pkill, мав кореневий або адміністративний рівень.
Команда pkill нагадує паяльну лампу, якщо наводити її на імена користувачів, і її можна розглядати як спосіб примусово закрити все, що належить користувачеві, який увійшов у систему, але це також може зробити її дуже потужною інструмент для усунення несправностей і роботи з неіснуючими або зомбі-процесами, які залишилися недоторканими, незважаючи на вихід користувача.
Раніше ми обговорювали команду pkill для припинення процесів за допомогою символів підстановки та певних програм/процесів, що належать одному користувачеві, і хоча це нещодавнє доповнення до Mac після Mac OS від Mac OS X Mountain Lion далі, він існує у світі Linux досить довго.