通过 SSH 控制进程

通过 SSH 控制进程

我通过 SSH 启动了一个进程,看起来需要 2-3 天。我没有通过 tmux 启动它,所以如果我的连接中断,我的任务将需要重新开始。

有没有什么方法可以让我登录到另一个 SSH 会话并在 tmux 会话中控制此进程,关闭原始 SSH 会话并让该进程继续运行?

答案1

byobutmux是终端多路复用器。Byobu 是屏幕。它同时具有byobu-screenbyobu-tmux

  1. 使用 ssh 登录
  2. 运行多路复用器

    byobu-screen
    
  3. 然后运行你的命令

  4. 使用多路复用器中的其他选项卡来分离:

    byobu-screen -d
    
  5. 现在您已返回 SSH 会话,如果您使用,ps ax您可以看到它仍在运行。您现在可以exit从 SSH 会话中。

恢复:

  1. 使用 ssh 登录
  2. 恢复多路复用器

    byobu-screen -r
    

    然后您就回到了原来的位置。您可以打开多个多路复用器会话,它们将保持运行(因为它们在后台)。因此,打开一个,分离,然后打开另一个,分离,尝试恢复。

  3. 返回你的命令
  4. 使用多路复用器中的其他选项卡再次分离:

    byobu-screen -d
    
  5. 您现在可以exit从 SSH 会话开始。让您的命令继续运行。

请参阅参考资料https://help.ubuntu.com/community/Screen

相关内容