有时登录了ssh,一使用ps aux|grep pts,有可能会看到不清楚n天前执行的vim呀,或是什么操作,由于超时ssh被自动断开,但是进程竟然还被挂起在进程管理中;
这时就需要把它们踢出去了,只要确保关掉这些进程没有影响,那么就按下面的操作来;
在root权限下运行命令:who -a ,返回大概类似下面.还可以使用who --help来查看其它参数
系统引导 2015-07-28 08:51
运行级别 3 2015-07-28 08:51
登录 tty1 2015-07-28 08:51 894 id=tty1
qidizi + pts/0 2015-07-28 09:07 00:01 2153 (10.0.2.2)
qidizi + pts/1 2015-07-28 13:54 . 2321 (10.0.2.2)
输入命令:tty
查看自己登录ssh所在的pts,大概显示类似如下:
/dev/pts/1
ok,自己是1,另一个0是自己之前登录的?那kill掉它:
查看由tty启动的进程:
qidizi 2155 0.0 0.1 135204 2168 ? S 09:07 0:00 sshd: qidizi@pts/0
root 2156 0.0 0.1 188764 2700 pts/0 Ss 09:07 0:00 sudo su
root 2167 0.0 0.1 180068 2152 pts/0 S 09:07 0:00 su
root 2168 0.0 0.1 115352 2100 pts/0 S+ 09:07 0:00 bash
qidizi 2323 0.0 0.1 135204 2056 ? S 13:54 0:00 sshd: qidizi@pts/1
root 2324 0.0 0.1 188764 2696 pts/1 Ss 13:54 0:00 sudo su
root 2335 0.0 0.1 180072 2152 pts/1 S 13:54 0:00 su
root 2336 0.0 0.1 115352 2064 pts/1 S 13:54 0:00 bash
root 2364 0.0 0.0 123372 1392 pts/1 R+ 13:59 0:00 ps aux
root 2365 0.0 0.0 112656 972 pts/1 S+ 13:59 0:00 grep --color=auto pts
这时不需要一个一个kill,只需要选择那个带有问号的那个pid即可,如:
qidizi 2155 0.0 0.1 135204 2168 ? S 09:07 0:00 sshd: qidizi@pts/0
运行命令:kill 2155
这时所有与pts/0启动的进程都被kill了.