领先优势
如何关闭不活动的ssh会话? 首先使用w命令标识不活动或空闲的ssh会话,然后使用pstree命令获取空闲会话的PID,最后使用kill命令关闭会话。
假设pgddbq通过ssh在服务器上运行时,会话连接因网络、电源或本地PC重新启动等原因而断开。
您可能会再次登录服务器并继续工作,也可能不会,但您总是保留以前未关闭的ssh会话。
如何关闭不活动的ssh会话? 首先使用w命令标识不活动或空闲的ssh会话,然后使用pstree命令获取空闲会话的PID,最后使用kill命令关闭会话。
请参阅:移动shell (mosh ) -最佳的SSH远程连接替代选项
如何识别不活动或空闲的SSH会话
登录系统使用w命令检查当前有多少用户登录。 识别到自己的会话连接后,可以记录并关闭其他不活动或空闲的ssh会话。
在我现在的例子中,可以看到两个用户登录。 其中一个是我当前运行w命令的ssh会话,另一个是以前的空闲会话。
# w
10:36:39 up 26 days,20:29,2 users,load average :00,0.02,0.00
userttyfromlogin @ idlejcpupcpuwhat
root pts/0219.91.219.141033603428.00 s 0.00 s-bash
root pts/2219.91.219.14103360360.00 s 0.00 s 0.00 SW
如何获取SSH会话的PID
要关闭空闲的ssh会话,需要空闲会话进程的父进程的PID。 可以运行pstree命令以显示包含所有进程的树,并获取父进程的pid。
可以获得与以下示例类似的输出。 pstree命令的输出比这要多得多。 为了更好地理解,删除了很多不相关的内容。
# pstree -p
init(1)-- abrtd (2131 ) )。
|-acpid(1958 )
|-httpd(32413----httpd ) 32442 )
|
|-mingetty(2198 )
|-mysqld_safe(24298----mysqld ) 24376----{mysqld} ) 24378 )。
|
|-PHP(32456----PHP ) 32457 )。
|
|-sshd(2023----sshd ) 10132 )---- bash (10136 ) )。
|`-sshd(10199----bash ) 10208 )-----pstree (10226 ) )。
|-udevd(774----udevd ) 2191 )。
`-udevd(27282 ) )。
从上面的输出中,可以看到sshd进程和分支的树视图。 sshd的主流程是sshd(2023 ),其他两个分支分别是sshd (10132 )和sshd (10199 )。
和我在文章中开始说的一样,其中一个是我的新会话连接sshd(10199 ),它显示了我正在运行的pstree命令,所以空闲会话是另一个进程是sshd(10199 )。
请参阅:如何通过标准web浏览器访问安全shell (ssh )服务器
建议: PSSH -在多个Linux服务器上并行执行命令
如何关闭空闲SSH会话
我们获得了有关空闲会话的所有信息。 现在,使用kill命令关闭空闲会话吧。 请确保将下面的PID替换为服务器上的可用会话PID。
# kill -9 10132
(LCTT注释:这里介绍另一个工具pkill。 使用pkill -t pts/0 -kill可以关闭会话。 可以在debian 8上使用。 根据版本,似乎需要更改-kill的位置。)
再次检查空闲会话是否已关闭
再次使用w命令检查空闲会话是否已关闭。 是的。 只有我现在的那个会话还在。 因此,该空闲会话已关闭。
# w
10:40:18 up 26 days,20:33,1 user,load average :11,0.04,0.01
userttyfromlogin @ idlejcpupcpuwhat
root pts/2219.91.219.14103360360.00 s 0.00 s 0.00 SW
建议:使用rtop-ssh监视远程服务器的有用工具
建议: DSH -在多个Linux服务器上同时运行命令
再次使用pstree命令进行检查
再次使用pstree命令进行确认。 是的,只有那个我自己的ssh会话还在。
# pstree -p
init(1)-- abrtd (2131 ) )。
|-acpid(1958 )
|
|-httpd(32413----httpd ) 32442 )
|
|-mingetty(2198 )
|-mysqld_safe(24298----mysqld ) 24376----{mysqld} ) 24378 )。
|
|-PHP(32456----PHP ) 32457 )。
|
|-sshd(2023----sshd ) 10199 )----bash ) 10208 )-----pstree (10431 ) ) ) ) ) ) ) )。
|-udevd(774----udevd ) 2191 )。
`-udevd(27282 ) )。