📜  reattach screen linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:19:46.816000             🧑  作者: Mango

Reattach Screen Linux - Shell-Bash

在 Linux 系统中,screen 是一款非常常用的命令行工具,它可以实现窗口管理、远程控制和会话恢复等功能,对于经常需要远程连接到 Linux 服务器的程序员来说,使用 screen 工具可以避免因网络异常或 SSH 连接断开等原因导致的任务中断和数据丢失,同时也可以提高工作效率和代码开发的舒适度。

在使用 screen 的过程中,一个很常见的问题就是如果会话意外中断,该如何重新连接回来并恢复会话。这个时候可以使用 reattach 子命令来重新连接已经中断但尚未结束的 screen 会话。下面是详细介绍:

语法
reattach [-r|-R|--auto-title] [-d|-D] [pid.tty.host]
参数说明
  • -r:恢复后不创建新的会话,如果当前有其他用户正在使用会话,则会被踢出。
  • -R:恢复后创建新的会话(需开启多会话模式),如果当前有其他用户正在使用会话,自己会成为该会话的新用户。
  • --auto-title:恢复时设置终端的标题为 screen 的标题。
  • -d:在恢复会话后立即分离,即离开会话并保持后台运行。
  • -D:在恢复会话时切换到新窗口,并让 screen 进入后台运行状态。
举个栗子 🌰

假设我们在 Linux 下通过 screen 命令开启了一个会话,但是由于某些原因,我们不得不中断这个会话,接着我们可以在新的窗口或终端执行以下命令:

$ screen -list       # 列出当前所有的会话
There are screens on:
        14124.pts-0.vagrant (Detached)
        19182.pts-1.vagrant (Detached)
2 Sockets in /var/run/screen/S-vagrant.

$ screen -r 14124     # 连接 id 为 14124 的会话

可见我们可以使用 screen -r 命令来重新连接到之前中断的会话,并继续执行里面的任务。

除此之外,我们还可以使用 screen -D -rscreen -d -r 命令来在重新连接时改变会话的状态。如:

$ screen -d -r 14124   # 连接并且让 screen 进入后台运行
$ screen -D -r 19182   # 连接并且在会话中创建新窗口

以上就是 Reattach Screen Linux - Shell-Bash 的介绍了,screen 工具是 Linux 下非常好用的一个命令行工具,学会使用对于程序员来说是非常有用的技能。