【问题标题】:Keep SSH Sessions running after disconnection - for overnight [closed]断开连接后保持 SSH 会话运行 - 过夜 [关闭]
【发布时间】:2015-10-19 01:55:31
【问题描述】:

这是question 的后续问题。

我接受了@Chris Lear 的建议,使用了screen 推荐。它工作得很好,可以在短时间内退出。但是我多次遇到以下问题。

在我退出后,按 ctrl+a,ctrl+d,然后进入睡眠状态,并尝试在第二天早上恢复,我不断收到以下错误消息,并且服务器上的 matlab 进度已死。

错误信息是: packet_write_wait:连接到 128.2.xx.xxx:管道损坏。

关于如何解决这个问题的任何想法?

谢谢!

【问题讨论】:

  • matlab 是否直接将数据发送回您的笔记本电脑?您正在连接到远程机器,然后在那里运行 matlab 正确吗?
  • 是的。当我登录时,matlab 直接将数据发送回我的笔记本电脑。
  • 第一次登录时,ssh、screen、matlab命令是按什么顺序执行的?
  • @ChristophSommer 启动终端、屏幕、ssh、matlab。注销,ctrl+a,ctrl+d,恢复,screen -r
  • @tankonetoone:屏幕应该可以工作。听起来您的问题是服务器上的 matlab 正在启动与您的笔记本电脑的连接,然后您正在关闭笔记本电脑。

标签: linux shell terminal


【解决方案1】:

在服务器上运行屏幕(而不是在客户端上,这就是您现在正在做的事情)。这样,即使您没有通过 ssh 连接到服务器,MATLAB 也可以写入输出。这个命令的顺序是 ssh、screen、matlab。如果你想恢复你的会话,只需通过 ssh 连接到服务器,然后运行类似 screen -x

【讨论】:

  • 好主意!我会试试看。
【解决方案2】:

在您的(客户端)计算机上打开/etc/ssh/ssh_config。添加以下行:

ServerAliveInterval 100
ServerAliveCountMax 3  (default)

您还可以在~/.ssh/config中的每个用户级别设置这些值

请记住这一点——如果您不小心打开了 ssh 会话,其他有权访问您桌面的人都可以使用它。完成后记得关闭会话。

【讨论】:

  • 我的终端说:Permission denied...
  • 只要您使用的是openSSH,您使用的是 Mac 还是 PC 都无关紧要。您将需要 root 访问权限来设置系统范围的默认 /etc/ssh/ssh_config 值,~/.ssh/config 仅供您自己使用。 (如果这是您的每个用户 .ssh 目录存储在 mac 上的位置,否则将它们设置在可能的位置。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 2014-09-24
相关资源
最近更新 更多