Linux 管理远程会话 screen:掌握终端的多任务操作

简介: `Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。

在日常开发和服务器管理工作中,特别是当我们通过 SSH 连接到远程服务器时,通常需要同时执行多个任务。

Linux 的 screen 命令为此提供了一种简便的解决方案。screen 允许用户创建多个会话窗口,并在它们之间自由切换,即便与远程服务器的连接断开,这些会话仍然会在后台运行。

接下来,我们将使用简单易懂的语言,探索如何通过 screen 提高我们的工作效率。

初识 Screen

创建新的会话窗口

如果你想运行一个长时间执行的命令(比如备份操作),并不希望因为网络问题而导致命令中断,可以创建一个新的 screen 会话窗口。

screen -S backup

这里 -S 参数后面跟着的是我们给这个会话窗口的名字,这里名字是 backup

查看当前所有会话窗口

如果想要查看当前所有的 screen 会话窗口,可以使用下面的命令:

screen -ls

执行这个命令后,你会看到类似于 session_id 的信息,其中包含了会话的名称和状态信息,帮助你识别和管理多个会话。

退出会话窗口

当你完成工作,想要退出某个 screen 会话时,可以简单地输入:

exit

这会结束当前的会话,并关闭相关的窗口。

高级操作

在 screen 中运行命令

有时候,我们希望直接在创建 screen 会话的同时执行某个命令,并且在该命令执行完毕后自动结束会话。可以这样做:

screen vim memo.txt

这个命令会在一个新的 screen 会话中打开 vim 编辑器编辑 memo.txt 文件,当你退出 vim 时,该 screen 会话也会自动结束。

会话共享功能

screen 的一个强大功能是支持会话共享,意味着多个用户可以实时共享和操作同一个会话视图。

# 终端 A:创建会话
screen -S backup

# 终端 B:同步终端信息
screen -x

# 或者通过指定具体的 session-id 来共享会话
screen -x <screen-session-id>
# 比如
screen -x 364490.backup

这对于协作调试和教学非常有用。

重新连接断开的会话

screen 会话因为网络问题或其它原因断开时,你可以很容易地重新连接到这个会话:

screen -r backup

如果 screen 提示会话状态为 Attached,说明会话仍被另一个连接占用,你可以使用下面的命令强制回收:

screen -D -r backup
# 或
screen -D -r <screen-session-id>
# 比如
screen -D -r backup

小结

screen 是一个强大的工具,通过它,我们可以在远程服务器上高效地管理多个会话,保证关键任务的持续运行,甚至在不同用户之间共享会话,以便于协作和教学。

使用简单的操作,却能极大地提升我们的工作效率和协作能力。

希望本文能帮助你入门并实践使用 screen,让你的 Linux 经验更上一层楼。

相关文章
|
1月前
|
Linux 网络安全 iOS开发
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
451 4
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
|
1月前
|
安全 Linux
Slax Linux如何获取增强的会话管理与启动参数选项
以上就是关于在Slax Linux中获取增强的会话管理与启动参数选项的全过程。虽然在这个过程中可能会遇到暗礁和风浪,但只要我们用心驾驶,总能找到前行的道路。在旅程中,记得享受这中间的点点滴滴,因为这些都是你成长的痕迹。祝你在这片“数码海洋”中一帆风顺!
65 26
|
3月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
563 76
|
7月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
252 2
|
10月前
|
Linux 网络安全 Python
linux后台运行命令screen的使用
linux后台运行命令screen的使用
627 2
linux后台运行命令screen的使用
|
3月前
|
Linux
Linux:守护进程(进程组、会话和守护进程)
守护进程在 Linux 系统中扮演着重要角色,通过后台执行关键任务和服务,确保系统的稳定运行。理解进程组和会话的概念,是正确创建和管理守护进程的基础。使用现代的 `systemd` 或传统的 `init.d` 方法,可以有效地管理守护进程,提升系统的可靠性和可维护性。希望本文能帮助读者深入理解并掌握 Linux 守护进程的相关知识。
141 7
|
8月前
|
运维 Java Linux
Linux 下命令后台运行秘籍:无惧终端断开的魔法
本文详细介绍了在 Linux 系统下使命令不受终端断开影响、持续在后台运行的多种方法及其原理。包括使用 `nohup`、`setsid`、括号括起来、作业调度和 `screen` 等技巧,帮助读者提高工作效率,确保任务不被意外中断。
196 0
Linux 下命令后台运行秘籍:无惧终端断开的魔法
|
9月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
107 5
|
9月前
|
Shell Linux API
C语言在linux环境下执行终端命令
本文介绍了在Linux环境下使用C语言执行终端命令的方法。首先,文章描述了`system()`函数,其可以直接执行shell命令并返回结果。接着介绍了更强大的`popen()`函数,它允许程序与命令行命令交互,并详细说明了如何使用此函数及其配套的`pclose()`函数。此外,还讲解了`fork()`和`exec`系列函数,前者创建新进程,后者替换当前进程执行文件。最后,对比了`system()`与`exec`系列函数的区别,并针对不同场景推荐了合适的函数选择。
|
10月前
|
监控 数据挖掘 Linux
Linux服务器PBS任务队列作业提交脚本的使用方法
【8月更文挑战第21天】在Linux服务器环境中,PBS任务队列能高效管理及调度计算任务。首先需理解基本概念:作业是在服务器上执行的任务;队列则是等待执行任务的列表,具有不同的资源限制与优先级;节点指分配给作业的计算资源。
1523 4