介绍
screen 命令在后台同时运行多个脚本时非常有用。它允许你启动长时间运行的任务,而无需为每个任务保持一个终端窗口打开。下面,我们将介绍如何使用 screen 在后台运行脚本并管理这些会话。

在后台运行脚本
你有三个脚本在 ~/project 目录中执行不同的任务。
在环境中打开终端(图中的 ① 或 ②),然后输入以下命令:
ls ~/project

如果你想同时运行这三个脚本,可以这样做:

现在,我们将使用 screen 在分离的会话中同时运行这些脚本。
要使用 screen 在后台运行这些脚本,我们将使用 -dmS 选项:
-d启动一个会话并立即从中分离。-m强制screen创建一个新会话。-S允许我们为会话命名以便于引用。
启动脚本
打开一个终端并导航到包含脚本的目录。然后,使用以下命令在每个单独的 screen 会话中启动脚本:
screen -dmS task1 ./script1.sh
screen -dmS task2 ./script2.sh
screen -dmS task3 ./script3.sh
管理会话
启动脚本后,你可以使用各种命令管理这些 screen 会话。
列出所有会话
screen -ls

此命令将显示所有正在运行的 screen 会话。
重新连接到会话
screen -r session_name
如果你想检查输出或与特定脚本交互,可以使用此命令重新连接到其会话。将 session_name 替换为启动脚本时分配的名称(例如 task1、task2 或 task3)。
从会话中分离
当你检查完会话后,可以通过按 Ctrl-a 然后按 d 从中分离,并让它在后台继续运行。
终止会话
要终止会话,请使用 screen -r session_name 重新连接到它,然后输入 exit 或按 Ctrl-d。
总结
使用 screen 管理多个后台任务可以显著优化你的工作流程,尤其是在处理长时间运行或后台进程时。通过在分离的 screen 会话中运行脚本,你可以保持工作区整洁,并确保你的进程即使在你断开服务器连接或关闭终端后也能继续运行。
尝试使用 screen,探索它如何最好地融入你的工作流程并提升你的工作效率!



