在FreeBSD系统中用pkill命令踢出SSH在线登录用户

FreeBSD是一个多用户多任务的操作系统,用户可以在不同地方通过ssh连上FreeBSD服务器,在系统中我们可以使用w命令来查看当前在线登录用户。

[root@host01 ~]# w

03:05:23 up 19 min, 3 users, load average: 0.00, 0.03, 0.05
USER TTY FROM   LOGIN@ IDLE WHAT
root p0 192.168.0.2 01:39 6:52 /usr/bin/perl
root p1 192.168.0.31 01:45 0.00s w
root p2 192.168.0.23 01:52 2.00s -bash

看到了吧,已经有3个用户登录到服务器了。接下来使用who am i 看那个是自己的登录终端,下面自己是pts/1

[root@host01 ~]# who am i
root p1 2009-08-02 03:06 (192.168.0.31)

接下来使用pkill命令将要其它的用户踢出,这里为p0和p2。
[root@host01 ~]# pkill -kill -t p2

再使用w命令查看,p2终端用户已经被踢掉了。

[root@host01 ~]# w

03:07:28 up 21 min, 2 users, load average: 0.00, 0.02, 0.05
USER TTY FROM   LOGIN@ IDLE WHAT
root p0 192.168.0.2 01:39 6:52 /usr/bin/perl
root p1 192.168.0.31 01:45 0.00s w

=========================================

比如某一用户通过SSH登陆进入系,会话为pts/0(设此用户为第一个通过SSH登陆进入系统的)。

# ps -aux | grep pts/0
root    865  0.0  0.5  9400  4360  ??  Is    4:08AM   0:00.16 sshd: root@pts/0
root    926  0.0  0.1  3492  1208  v1  S+    4:17AM   0:00.01 sshd: grep pts/0

开始踢他了:

# kill -9 865

或者

#pkill -kill -t pts/0