📅  最后修改于: 2023-12-03 15:19:46.816000             🧑  作者: Mango
在 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 -r
或 screen -d -r
命令来在重新连接时改变会话的状态。如:
$ screen -d -r 14124 # 连接并且让 screen 进入后台运行
$ screen -D -r 19182 # 连接并且在会话中创建新窗口
以上就是 Reattach Screen Linux - Shell-Bash 的介绍了,screen
工具是 Linux 下非常好用的一个命令行工具,学会使用对于程序员来说是非常有用的技能。