我是 ssh 和 tmux 的新手。我想通过 ssh 在远程服务器上运行 rake 任务,但我想关闭我的计算机并让该任务继续在服务器上运行。
所以我发现 tmux 似乎可以做到这一点,但昨晚我得到了一个write error, broken pipe
。在我重新连接 tmux 会话后。我家里的互联网非常不稳定,所以我可能会得到一个新的 IP,这是一个问题吗?那么,我该如何防止这种情况发生?
答案1
据我了解,您希望让程序在服务器上运行,并且该程序应该在 tmux 中运行。要实现这一点,您必须在服务器上运行 tmux。
逐步
client$ ssh server
server$ tmux
server$ program
[detach from tmux]
server$ exit
client$
要重新连接,您可以执行以下操作:
client$ ssh server
server$ tmux attach
在一行中
client$ ssh -t server tmux new program
[detach]
如果您将-d
开关添加到new
tmux 会话,则不会附加,而是在后台运行。如下所示:
client$ ssh -qt server tmux new -d "'program'"
请注意,如果命令包含空格,则需要用双引号引起来。
重新连接:
ssh -t server tmux attach