Рекомендуемые, 2024

Выбор редактора

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

Моя недотрога классное исполнение под гармонь

Моя недотрога классное исполнение под гармонь

Оглавление:

Anonim

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

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

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

pkill -u username

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

ps -u username

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

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

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

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

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

Top