Mosh 和终端复用

Mosh 和终端复用

在网站上阅读此问答:我可以重新加入 mosh 会话吗?让我想知道 的用例mosh

假设我tmux从本地客户端开始,然后moshtmux.从本次mosh会话中,我在远程计算机上启动一个漫长的过程,例如将一段时间内的信息打印到标准输出。

假设我随后失去了客户端的连接,或者重新启动了本地客户端(无论出于何种原因)。我是否能够 (1) 重新附加到我的本地 tmux 会话,(2)仍然看到我的 mosh 连接处于活动状态,并且 (3) 服务器进程仍在运行并在其中显示其输出?

答案1

对对对。

它的好处/用途之一是即使与会话断开连接也允许会话持续存在 - 即使在出现tmux之前也是如此。mosh

当您断开连接时,tmux 会处理信号,会话中运行的进程会继续运行,而不会意识到发生了断开连接(类似于通过 启动进程nohup)。

那么为什么上面的结果会是“是,是,是”?

(1) re-attach to my local tmux session,

是的,因为如果您与本地 tmux 会话断开连接,tmux 将处理 SIGHUP 并且仍将继续运行,因此当您重新连接时,您可以tmux attach-session

 (2) still see my mosh connection alive, 

是的,因为 tmux 处理了断开连接信号,所以在 tmux 中运行的 mosh 进程将继续运行,而不知道您的连接已断开,并将继续运行。

(3) still the server process running and displaying its output in it?

是的,因为 mosh 仍然连接并且运行服务器进程仍然会继续发送输出。

相关内容