跳转至

Linux远程终端会话保持

为避免远程终端断开时会话被回收,您可以使用以下方法之一:

1. 使用 tmuxscreen

  • tmuxscreen 是终端多路复用工具,它们允许您在一个终端会话中运行多个终端,并在需要时切换。如果您的 SSH 连接中断,您可以在重新连接后恢复会话。这是一种很常见的方法,用于长时间运行的任务或需要持久性的工作。
    • 使用 tmux 的示例:
      1. 启动一个新的 tmux 会话:tmux
      2. 在会话中运行您的命令。
      3. 如果 SSH 连接断开,重新连接服务器。
      4. 运行 tmux attach 来恢复之前的会话。
    • 使用 screen 的示例:
      1. 启动一个新的 screen 会话:screen
      2. 在会话中运行您的命令。
      3. 如果 SSH 连接断开,重新连接服务器。
      4. 运行 screen -r 来恢复之前的会话。

2. 使用 nohup

  • 使用 nohup 命令来运行一个命令,使其在后台继续运行,即使关闭终端窗口也不会终止该命令。这是一种较为简单的方法,适用于不需要交互式会话的任务。

    nohup your-command &
    

    请注意,nohup 将输出写入到一个名为 nohup.out 的文件中。

3. 使用 disown

  • 使用 disown 命令来从当前 shell 会话中分离已经在后台运行的任务。这使得任务不再与终端会话关联,但仍然需要注意关闭终端窗口时的行为。
       your-command &
       disown
    

    这些方法可以确保在远程终端断开时会话不会被回收,具体取决于您的需求和工作方式。选择适合您的方法并根据需要进行调整。