Linux远程终端会话保持¶
为避免远程终端断开时会话被回收,您可以使用以下方法之一:
1. 使用 tmux
或 screen
¶
tmux
和screen
是终端多路复用工具,它们允许您在一个终端会话中运行多个终端,并在需要时切换。如果您的 SSH 连接中断,您可以在重新连接后恢复会话。这是一种很常见的方法,用于长时间运行的任务或需要持久性的工作。- 使用
tmux
的示例:- 启动一个新的
tmux
会话:tmux
- 在会话中运行您的命令。
- 如果 SSH 连接断开,重新连接服务器。
- 运行
tmux attach
来恢复之前的会话。
- 启动一个新的
- 使用 screen 的示例:
- 启动一个新的
screen
会话:screen
- 在会话中运行您的命令。
- 如果 SSH 连接断开,重新连接服务器。
- 运行
screen -r
来恢复之前的会话。
- 启动一个新的
- 使用
2. 使用 nohup
¶
-
使用
nohup
命令来运行一个命令,使其在后台继续运行,即使关闭终端窗口也不会终止该命令。这是一种较为简单的方法,适用于不需要交互式会话的任务。请注意,
nohup
将输出写入到一个名为nohup.out
的文件中。
3. 使用 disown
¶
- 使用
disown
命令来从当前 shell 会话中分离已经在后台运行的任务。这使得任务不再与终端会话关联,但仍然需要注意关闭终端窗口时的行为。
这些方法可以确保在远程终端断开时会话不会被回收,具体取决于您的需求和工作方式。选择适合您的方法并根据需要进行调整。