我已经阅读了 about tmux-resurrect,但我仍然不清楚是否可以执行以下操作:
tmux会话ssh 到远程服务器tmux-resurrect)我需要nohup在步骤 3 中使用吗?或者可以tmux-resurrect(或其他工具)处理它吗?
由于服务器“看到”的内容,没有本地工具可以做到这一点:
ClientAlive*选项,TCP keepalive 概念 -有关详细信息,请参阅此答案)。即使您打算tmux-resurrect在本地使用或使用其他工具,服务器也不知道,也不在乎。除非您使用nohup或更好……否则它将终止您长时间运行的代码。
如果可以,请在服务器上使用tmux(或screen):
tmux在客户端上输入会话。ssh 到服务器。tmux在服务器上启动会话。tmux.ssh 再次。tmux会话仍然存在(除非在此期间服务器发生了不好的事情);重新连接tmux a。我tmux每天都使用这种方式,我认为这是正确的方式。在我的笔记本电脑tmux会话中最多持续几个小时,我每晚都将其关闭;但我可以访问我的tmux会话运行数月的几台服务器。当我写这篇文章时,其中一个watch df -h流程在tmux两个月前开始的一个会话中运行了一个星期。