linux下如何關閉已登陸用戶

在或許你也遇到這種狀況,在管理或者別的時候,須要將某些用戶的會話強制關閉。通常你們可能熟知的方法是查找該用戶會話的全部進程,而後kill掉。這種方法大部分狀況下是能夠工做的。可是,若在用戶會話非正常退出時,就難以達到效果了。bash

本文講述兩種方法,來刪除指定用戶的會話。均是能夠在不知道用戶進程號的狀況下完成的,提升了工做效率。服務器

使用tty命令,查看本會話的會話號。不要將本身給kill掉了:.net

[root@localhost ~]# tty
/dev/pts/2進程

使用w命令,查看當前有那些會話登陸在服務器上。
[root@localhost ~]# w
21:42:34 up 2:37, 5 users, load average: 0.44, 0.55, 0.70
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       -                19:15   ?xdm? 36:42   0.09s /bin/sh /usr/bin/startkde
root     pts/1    :0               19:15    2:26m 0.00s 3.09s kded --new-startup
root     pts/2    :0               21:40    0.00s 0.07s 0.02s w
root     pts/4    :0               21:19   19:12   0.16s 0.01s man pkill
root     pts/6    :0               21:28   12:51   0.11s 0.02s man killallget

使用下面的兩個命令,刪除指定的會話。例如要刪除pts/4的會話:效率

[root@localhost ~]# skill -KILL -v pts/4
pts/4    root     24670 bash
[root@localhost ~]# w
21:45:43 up 2:40, 4 users, load average: 0.35, 0.52, 0.66
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       -                19:15   ?xdm? 36:59   0.09s /bin/sh /usr/bin/startkde
root     pts/1    :0               19:15    2:29m 0.00s 3.23s kded --new-startup
root     pts/2    :0               21:40    0.00s 0.06s 0.01s w
root     pts/6    :0               21:28   16:00   0.11s 0.02s man killall登錄

和上面的w命令相比,咱們發現已經少了pts/4,證實pts/4的會話已經被咱們kill掉了。
skill這個命令比較古老了。man手冊建議使用新的命令pkill:方法

此次咱們kill掉pts/3的會話:
[root@localhost ~]# w
21:50:34 up 2:45, 5 users, load average: 0.53, 0.53, 0.62
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       -                19:15   ?xdm? 37:21   0.09s /bin/sh /usr/bin/startkde
root     pts/1    :0               19:15    2:34m 0.00s 3.35s kded --new-startup
root     pts/2    :0               21:40    0.00s 0.06s 0.01s w
root     pts/6    :0               21:28   20:51   0.11s 0.02s man killall
root     pts/3    :0               21:46    3:56   0.04s 0.03s /bin/bash
[root@localhost ~]# pkill -9 -t pts/3
[root@localhost ~]# w
21:50:58 up 2:45, 4 users, load average: 0.54, 0.53, 0.62
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       -                19:15   ?xdm? 37:23   0.09s /bin/sh /usr/bin/startkde
root     pts/1    :0               19:15    2:35m 0.00s 3.35s kded --new-startup
root     pts/2    :0               21:40    0.00s 0.07s 0.01s w
root     pts/6    :0               21:28   21:15   0.11s 0.02s man killall工作

呵呵,這個命令也搞定了咱們要解決的問題。須要瞭解更詳細的內容,請使用man命令,查看手冊。new

相關文章
相關標籤/搜索