远程注销

远程注销

昨天我和同事在他的计算机上一起工作,我登录到我的集群帐户(使用 ssh),但我让会话保持打开状态,现在我回家了。
我不知道他是否在我之后结束了会议。
我需要从我的计算机注销(退出)集群的所有打开的会话。

如何注销所有打开的会话?

笔记: 更改密码可以提供帮助,但我无法更改密码

答案1

who -u您可以使用提供登录用户列表以及 shell 会话的 PID 的命令。

root@server:/# who -u
root     - pts/0        2017-08-08 15:52 00:08       21934 (192.168.5.33)
root     - pts/1        2017-08-08 16:07   .         31669 (192.168.5.33)

然后相应地终止 shell 会话(在您的情况下,属于您用户的会话):

root@server:/# kill 21934 31669

请注意,终止 shell 将导致终止父 ssh 会话。

答案2

首先,您需要连接到运行进程的计算机。使用 SSH。

您可以通过发送信号到它。就您而言,该工作的正确信号是叹息。当终端消失时,该信号会自动发送(从词源学上讲,当调制解调器H向上)。

如果要关闭该计算机上的所有会话,请向所有进程发送 SIGHUP。你可以这样做

kill -HUP -1

-1意思是“所有过程”。您无法杀死其他用户的进程,因此这只会杀死您的进程。

如果您只想终止某些进程,可以运行以下命令来列出您帐户上运行的所有进程:

ps -u $(id -u) -ww

一旦您决定要终止哪些进程,请仔细复制该列中的值PID。例如,杀死 PID 123 和 125:

kill -HUP 123 125

如果进程对 SIGHUP 没有反应,则发送 SIGKILL。 SIGHUP 很好地询问,而 SIGKILL 不给该进程机会。

kill -KILL 123 125

相关内容