Убить все процессы, принадлежащие пользователю, с помощью pkill

Оглавление:

Anonim

Activity Monitor и традиционный инструмент командной строки kill способны справиться с большинством потребностей завершения процессов, но если вам когда-либо приходилось нацеливаться и уничтожать все процессы, принадлежащие одной учетной записи пользователя, вы знаете это может быть разочаровывающей задачей. Хотя Activity Monitor позволяет вам сортировать «Другие пользовательские процессы» и выбирать несколько процессов, он не позволяет вам завершать несколько процессов одновременно.Точно так же стандартные команды kill и killall обычно нацелены на определенные процессы, а не на каждую задачу, принадлежащую определенной учетной записи пользователя. Здесь на помощь приходит команда pkill, которая упрощает мгновенное уничтожение каждого процесса, принадлежащего любому пользователю, через терминал.

Как убить все процессы пользователя с помощью pkill

Основной синтаксис использования pkill для уничтожения всех пользовательских процессов выглядит следующим образом:

pkill -u имя пользователя

Убедитесь, что все процессы, принадлежащие этому пользователю, были завершены с помощью флага -u в команде ps:

ps -u имя пользователя

Предполагая, что все прошло по плану, вы получите отчет о пустом списке.

pkill не чувствителен к регистру, что означает, что имя пользователя «TestUser» будет идентифицироваться так же, как «testuser».

Если вы собираетесь попробовать это на себе, было бы лучше использовать быстрое переключение пользователей, чтобы инициировать новый вход в систему с другой учетной записью пользователя, или использовать сервер ssh и выполнить это на другом местный Мак. Использование pkill для вашего собственного активного имени пользователя приведет к завершению всех процессов, некоторые из которых обновляются мгновенно, но многие фоновые процессы не запустятся снова автоматически. Это приводит к разного рода необычному поведению, и в зависимости от того, что у вас запущено, не удивляйтесь, если обнаружите, что ОС станет настолько непригодной для использования, что вам придется либо выйти из системы, либо снова войти в систему, либо даже перезагрузиться, если активный пользователь учетная запись, на которую нацелен pkill, имеет либо корневой, либо административный уровень.

Команда pkill немного похожа на паяльную лампу, когда указывает на имена пользователей, и ее можно рассматривать как способ, по сути, принудительно закрыть все, что принадлежит вошедшему в систему пользователю, но это также может сделать ее очень мощной. инструмент для устранения неполадок и при работе с нефункционирующими или зомби-процессами, которые остались нетронутыми, несмотря на выход пользователя из системы.

Мы уже обсуждали команду pkill для уничтожения процессов с подстановочными знаками и определенных приложений/процессов, принадлежащих одному пользователю, и хотя это недавнее дополнение к Mac, так как Mac OS из Mac OS X Mountain Lion и далее, он существует в мире Linux уже довольно давно.

Убить все процессы, принадлежащие пользователю, с помощью pkill