Выход из системы других пользователей из командной строки

67

Иногда, когда в систему входит слишком много пользователей, это может привести к тому, что мой компьютер станет очень медленным и медленным из-за низкого объема доступной оперативной памяти. Я хотел бы иметь возможность быстро выйти из системы других пользователей из командной строки вместо того, чтобы вручную переключаться на каждого пользователя и выходить из него.

Это возможно?

Исайя
источник

Ответы:

68

это один ответ

who -u

которые дают вам PID

Затем вы можете убить пользовательский сеанс.

kill "pid"
hhlp
источник
Это работает, но имеет некоторые странные побочные эффекты.
Исаия
@ DoR ... которые ..?
Оли
4
@Oli Например, перезапуск GDM и попытка переключиться на пользователя, которого я убил, не работает.
Исаия
1
@AlvinRow Если вы выполняете, ps auxfто вы замечаете (самый левый столбец имеет эффективное имя пользователя), что этот метод не убивает все процессы, которые выполняются текущим пользователем (так что, вероятно, вы не вышли из системы). Метод @precise, похоже, решает эту проблему, хотя я не чувствую себя комфортно при отправке SIGKILL.
Дор
Я удивлен, что нет ничего подобного, shutdownпоэтому он может выдать предупреждение (позволяющее сохранить работу) перед принудительным выходом из системы. При желании это просто переключится на вход в систему, как если бы смена сеансов оставляла сеанс пользователя запущенным в фоновом режиме.
pbhj
28

Вы можете использовать, whoчтобы проверить, какие пользователи вошли в систему:

who

Вы можете выйти из системы, отправив KILLсигнал процессу пользователя с помощью:

sudo pkill -KILL -u <username>

(что так же, как sudo pkill -9 -u <username>)

пример:

sudo pkill -9 -u guest-2Rw4Lq

(чтобы убить гостевого сеанса по имени пользователя guest-2Rw4Lq)

точный
источник
Это сработало лучше для меня. Простой запуск kill "pid"оставил массу процессов пользователем, который все еще работает, и это убило их всех.
Thebaer
1
Почему SIGKILLи не по умолчанию SIGTERM? SIGKILLНе здоров ..
Дор
sudo pkill -KILL -u <username>для меня переключился на первый сеанс консоли; Я думал, что это убило мою текущую сессию, но ctrl + alt + F7 вернул меня к текущей графической сессии.
pbhj
3
who -u


> adam     ttys000  Aug  4 09:22   .       91228 

тогда

sudo kill 'PID number'
sudo kill 91228

PID (идентификатор процесса) - это четырехзначное или пятизначное число в конце показаний пользователя (91228)

адм
источник
1
Ваше изображение не показывает четырехзначное число?
Дронз