tmux,如何防止断管?

Tho*_*myH 6 ssh tmux

我是 ssh 和 tmux 的新手。我想通过 ssh 在远程服务器上运行一个 rake 任务,但我想关闭我的计算机并希望该任务继续在服务器上运行。所以我发现 tmux 似乎可以做到这一点,但昨晚我在重新连接 tmux 会话后收到了“写错误,管道损坏”的消息。我的互联网家庭互联网非常不稳定,所以我可能有一个新的IP,这是一个问题吗?那么,我该如何预防呢?

Tho*_*hor 8

据我了解,您想让一个程序在服务器上运行,并且该程序应该在 tmux 中运行。要完成这项工作,您必须在服务器上运行 tmux。

循序渐进

client$ ssh server
server$ tmux
server$ program

[detach from tmux]

server$ exit
client$
Run Code Online (Sandbox Code Playgroud)

要重新连接,您可以执行以下操作:

client$ ssh server
server$ tmux attach
Run Code Online (Sandbox Code Playgroud)

在一行

client$ ssh -t server tmux new program

[detach]
Run Code Online (Sandbox Code Playgroud)

如果添加-d开关到newtmux 会话将不会附加,而是在后台运行。像这样的东西:

client$ ssh -qt server tmux new -d "'program'"
Run Code Online (Sandbox Code Playgroud)

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

重新连接:

ssh -t server tmux attach
Run Code Online (Sandbox Code Playgroud)