🐧 Как убить сессии пользователей на Linux |

🐧 Как убить сессии пользователей на Linux

Мануал

Иногда вам может потребоваться убить несколько пользовательских сессий в системе Linux.

Например, вам нужно запустить задание, для которого все пользователи должны выйти из системы.

Другой пример – вы наблюдаете много сеансов ssh в своей системе и хотите убить их всех.

Если да, то как это сделать?

Есть несколько способов добиться этого результата.

Я покажу вам несколько способов, а вы сможете выбрать тот, который соответствует вашим потребностям

Как посмотреть активные сессии ssh?

Вы можете увидеть активные сеансы ssh, запустив команду w на Linux.

# w
00:34:21 up 48 days, 23:38, 4 users, load average: 0.79, 0.58, 0.56
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
magesh pts/0 192.168.1.101 19:47 4:45m 0.04s 0.00s sh /opt/scripts/disk-usage.sh
renush pts/1 192.168.1.102 20:35 3:54m 2:23 0.00s sh bash
thanis pts/2 192.168.1.103 00:27 5.00s 0.08s 0.04s ssh
root pts/4 192.168.1.104 00:34 1.00s 0.02s 0.01s w

1) Как убить пользовательские сессии в Linux с помощью команды pkill

Вы можете напрямую убить сеанс ssh определенного пользователя, используя номер сеанса tty.

Вы можете увидеть номер сеанса tty из вывода команды w.

В моем случае я собираюсь убить сеанс пользователя «magi», этот пользователь подключен к серверу с помощью pts/5, поэтому команда будет следующей:

# pkill -9 -t pts/2

Хотите понять разницу между tty и pts? 

В чем разница между tty и pts? 

  • TTY: tty означает Teletypewriter. Он напрямую связан с системой как клавиатура / мышь или последовательное соединение с устройством (например, консоль в вашей системе).
  • PTS: pts обозначает pseudo terminal slave. Это терминальное устройство, которое эмулируется другой программой (например, сессией ssh в вашей системе).

2) Как убить пользовательские сессии в Linux с помощью команды Killall

Вы можете убить пользовательский сеанс следующим образом с помощью команды killall.

В моем случае я убиваю сеанс пользователя «magesh» с помощью ключа «-u».

# killall -u magesh

3) Как убить пользовательские сессии в Linux с помощью команды Kill


Кроме того, вы можете убить пользовательский сеанс с помощью команды kill.

Этот метод потребует нескольких дополнительных шагов по сравнению с вышеупомянутыми двумя методами, потому что вы не сможете убить сессию напрямую.

Сначала найдите номер tty сеанса пользователя из вывода команды w.

 w
00:34:21 up 48 days, 23:38, 4 users, load average: 0.79, 0.58, 0.56
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
magesh pts/0 192.168.1.101 19:47 4:45m 0.04s 0.00s sh /opt/scripts/disk-usage.sh
renush pts/1 192.168.1.102 20:35 3:54m 2:23 0.00s sh bash
thanis pts/2 192.168.1.103 00:27 5.00s 0.08s 0.04s ssh
root pts/4 192.168.1.104 00:34 1.00s 0.02s 0.01s w

Как только он у вас есть, найдите PID соответствующего сеанса tty с помощью команды PS.

ps -ft [tty]
 ps -ft pts/4
UID PID PPID C STIME TTY TIME CMD
root 155183 155092 0 00:34 pts/4 00:00:00 -bash
root 163015 155183 0 00:35 pts/4 00:00:00 ps -ft pts/4

Наконец убейте идентификатор процесса сеанса.

kill -9 PID
# kill -9 155183

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Виктор

    sudo pkill -9 -u login_name

    Ответить