终止 ssh 会话和/或卡住的进程

终止 ssh 会话和/或卡住的进程

我正在通过 ssh 使用 vi 进行开发。

我的问题是,有时我的 ssh 连接会因为我的 wifi 连接不佳而被终止,并且之前的进程(比如“top”、“rails c”等等)没有被正确终止。

因此过了一会儿,我发现这些进程的 CPU 使用率达到了 100%(我真的不知道为什么),我需要手动终止它们。

因为我不是唯一的开发人员,所以情况可能会变得非常混乱,所以我的老板要求我想出一个解决方案。

我该如何做呢?

答案1

有几种方法可以解决这个问题:

  1. 终止剩余的进程。
  2. 使用某种东西来弥补断开之处。

第二个选项是最简单的,使用screentmux

连接断开后,重新连接、重新登录并恢复 screen/tmux 会话,然后继续从上次离开的地方工作。(用于screen -r恢复 screen 使用)。

如果您曾经在 Windows 中使用过远程桌面,那么您可以将其与恢复断开的 RDP 会话进行比较。

答案2

如果你正在使用 ssh 并且连接不可靠,你可能想尝试一下 mosh:http://mosh.mit.edu/

Mosh 就是为此目的而编写的。请注意,您需要在两侧都安装它。

答案3

ssh -t似乎如我所愿。

相关内容