大年夜上方的输出中,你可以看到 sshd 过程与分支的树形图。sshd 的主过程是 sshd(2023),另两个分支分别为 sshd(10132) 和 sshd(10199)。

让我们来假设一下,当你经由过程 ssh 在办事器上工作时,因为收集、电源或者是本地 PC 重启等原因会导致你的会话连接断开。
若何封闭一个不晃荡的 ssh 会话?起首应用 w 敕令来辨认出不晃荡或者是余暇的 ssh 会话,接着应用 pstree 敕令来获取余暇会话的 PID,最后就是应用 kill 敕令来封闭会话了。
建议浏览:Mosh(Mobile Shell)- 最好的SSH 长途连接替代选项
若何辨认不晃荡的或者是余暇的 SSH 会话
登录体系经由过程 w 敕令来查看当前有若干用户登录着。如不雅你辨认出了本身的会话连接就可以记下其它不晃荡或者是余暇的 ssh 会话去封闭。
在我当前的例子中,能看见两个用户登录着,个一一个是我当前在履行 w 敕令的 ssh 会话另一个就是之前的余暇会话了。
- # w
- 10:36:39 up 26 days, 20:29, 2 users, load average: 0.00, 0.02, 0.00
- USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
- root pts/0 219.91.219.14 10:34 28.00s 0.00s 0.00s -bash
- root pts/2 219.91.219.14 10:36 0.00s 0.00s 0.00s w
跟我在文┞仿开端讲的雷同,个一一个是我新的会话连接 sshd(10199) 它展示了我正在履行的 pstree 敕令,是以余暇会话是另一个过程为 sshd(10132)。
- 建议浏览:若何经由过程标准的网页浏览器来接入 Secure Shell (SSH) 办事器
- 建议浏览:PSSH - 在多台 Linux 办事器上并行的履行敕令
若何获取 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)
若何封闭余暇 SSH 会话
我们已经获得了有关余暇会话的所有信息。那么,就让我们来应用 kill 敕令来封闭余暇会话。请确认你将下方的 PID 调换成了你办事器上的余暇会话 PID。
- # kill -9 10132
(LCTT 译注:这里介绍另一个对象 pkill,应用 pkill -t pts/0 -kill 就可以封闭会话, debian 8 下可用,有些版本似乎须要更改 -kill 的地位)
再次查看余暇会话是否已经被封闭
再次应用 w 敕令来查看余暇会话是否已经被封闭。没错,只有那个我本身的当前会话还在,是以那个余暇会话已经被封闭了。
推荐阅读
IT人员生成就要受到上级的束缚。这点CIO们十分懂得。然则如不亚妹计算管控可以或许促成项目成功的经理人员,或是培养最终用户和他们的客户经理之间的信赖关系瓯,你可能会发明你不得不放弃这种设法主意。 >>>详细阅读
本文标题:如何关闭一个不活动的或者空闲的SSH会话
地址:http://www.17bianji.com/lsqh/36059.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示