在本教程中,我们将讲解如何在各种类型的Linux系统中通过SSH连接运行长时间任务,同时在SSH断开后依然保持后台运行。我们将介绍使用screen
和tmux
两种常见方法来实现这一目标。
1. 使用screen
screen
是一个终端多路复用器,它允许你在一个终端窗口中运行多个会话,并在需要时进行切换。使用screen
,你可以在断开SSH连接后仍然保持后台运行。
1.1 安装screen
首先,需要在你的Linux系统上安装screen
。下面是在不同发行版中的安装命令:
- Debian/Ubuntu:
sudo apt-get update && sudo apt-get install screen
- CentOS/RHEL:
sudo yum install screen
- Fedora:
sudo dnf install screen
- Arch Linux:
sudo pacman -S screen
1.2 使用screen
- 在SSH连接中启动
screen
会话:screen
- 运行你的长时间任务,例如:
./your_long_running_script.sh
- 通过按下
Ctrl + A
,然后按D
,将任务放到后台运行。
现在你可以安全地断开SSH连接,你的任务将继续在后台运行。
1.3 重新连接到screen
会话
当你需要检查后台任务的状态时,使用以下命令列出所有screen
会话:
screen -ls
找到你之前的会话,例如:
There is a screen on:
12345.your_session_name (Detached)
1 Socket in /var/run/screen/S-your_username.
重新连接到该会话:
screen -r 12345
现在你可以查看任务的状态,并继续在SSH会话中操作。
2. 使用tmux
tmux
是另一个终端多路复用器,功能类似于screen
,但具有更多现代化的功能。
2.1 安装tmux
首先,在你的Linux系统上安装tmux
。下面是在不同发行版中的安装命令:
- Debian/Ubuntu:
sudo apt-get update && sudo apt-get install tmux
- CentOS/RHEL:
sudo yum install tmux
- Fedora:
sudo dnf install tmux
- Arch Linux:
sudo pacman -S tmux
2.2 使用tmux
- 在SSH连接中启动
tmux
会话:tmux
- 运行你的长时间任务,例如:
./your_long_running_script.sh
- 通过按下
Ctrl + B
,然后按D
,将任务放到后台运行。
现在你可以安全地断开SSH连接,你的任务将继续在后台运行。
2.3 重新连接到tmux
会话
当你需要检查后台任务的状态时,使用以下命令列出所有tmux
会话:
tmux ls
找到你之前的会话,例如:
0: 1 windows (created Tue Jul 11 12:34:56 2023) [80x24]
重新连接到该会话:
tmux attach-session -t 0
现在你可以查看任务的状态,并继续在SSH会话中操作。
总结
在本教程中,我们学习了如何使用screen
和tmux
在各种类型的Linux系统中通过SSH连接运行长时间任务,同时在SSH断开后依然保持后台运行。这两种方法都非常实用,可以根据个人喜好选择使用。无论你选择哪种方法,都可以确保在断开SSH连接后,你的任务会继续在后台运行,而不会意外终止。
😍
😒🙂
😝