恢复SSH会话

我已通过SSH连接到我的服务器,并创build了一个过程,但突然间我的互联网连接断开。 我知道这个过程正在进行,但是如何恢复以前的会话来看看它的进度呢?

如上所示,将来您可以使用屏幕来防止这种情况。 关于如何使用屏幕的简短说明:

  1. screen -S compiling_stuff
  2. 在这里做东西。 例如./configure
  3. 如果连接由于某种原因closures,则可以重新连接到服务器并发出screen -r comp
  4. 您也可以按CTRL+A+D自行分离屏幕会话

祝你好运

screen是最好的开始一个命令在terminal,将保持当你断开连接(无论是故意的,CTRL +广告,或因为连接死亡等)。

但是你可以重新连接一个正在运行的进程 (例如:运行会话的shell,如果还在运行的话)到你当前的terminal上(也就是重新附加stdin,stdout,键盘,也可以使新的terminal成为控制terminal过程)使用: reptyr

为了两全其美:安装screen ,启动它,然后重新附加那个屏幕会话中的过程与reptyr ^^

你不能。 在将来,您可以使用screentmux来防止类似的情况发生,以允许在断开之后重新连接到会话。

只是想我会提到http://mosh.mit.edu/

允许漫游的远程terminal应用程序,支持间歇连接,并提供智能本地回声和用户击键的行编辑。

Mosh是SSH的替代品。 它更加健壮和响应,尤其是在Wi-Fi,蜂窝和长途链路上。

通过ssh使用screen稍后重新连接到您的会话。

据我所知,没有办法重新连接到一个封闭的SSH会话。

我可以推荐Byobu :

Byobu是terminal多路复用器GNU Screen或tmux的增强版,可用于在屏幕上提供通知或状态以及选项卡式多窗口pipe理。 它旨在为连接到远程服务器的terminal会话提供更好的用户体验。

我会build议使用tmux :

您可以通过tmux attach来恢复tmux会话。

tmux是一个软件应用程序,可用于复用多个虚拟控制台,允许用户在单个terminal窗口或远程terminal会话内访问多个单独的terminal会话。 从命令行界面处理多个程序,以及从启动程序的Unix shell中分离程序是很有用的[1]。 它提供了许多与GNU Screen相同的function,但是在BSD许可下分发。