在网站上阅读此问答:我可以重新加入 mosh 会话吗?让我想知道 的用例mosh
。
假设我tmux
从本地客户端开始,然后mosh
从tmux
.从本次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 仍然连接并且运行服务器进程仍然会继续发送输出。