tmux,如何防止管道破裂?

tmux,如何防止管道破裂?

我是 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开关添加到newtmux 会话,则不会附加,而是在后台运行。如下所示:

client$ ssh -qt server tmux new -d "'program'"

请注意,如果命令包含空格,则需要用双引号引起来。

重新连接:

ssh -t server tmux attach

相关内容