首页 » Linux » CentOS » linux必会命令之screen

linux必会命令之screen

 

screen是一个强大的终端多路复用器,它允许用户在一个物理终端上运行和管理多个会话。使用screen可以创建多个虚拟终端会话,可以在网络连接中断后重新连接到这些会话,并保持原有会话不被中断。本文将介绍screen的常用功能。

对于吴昊来说,screen最常用的功能就是在后台中开启一个会话,当有比较耗时的任务需要持续运行时,放在这个会话(后台)中,当网络中断或终端窗口意外关闭时,这个后台的会话依然可以继续运行,总结来讲,只要screen本身会话不终止,会话及会话中的操作会一直存活。常见的场景比如,导入一个很大的数据库时,编译一个比较复杂的包时。

安装screen

在RHEL8及以后的兼容版本中,需要通过添加epel源来安装screen

RHEL8以前的兼容版本中,默认命令在updates源中,直接执行安装即可


本文不介绍所有的选项,因为很多选项在实际场景中并不是很实用,主要还是以举例方式来讲解。

创建会话

默认直接执行screen即可,即使网络中断或被强制断开,在这个会话中运行的所有命令和程序将继续运行。

分离会话

要从当前screen会话分离,使其保持运行状态,先按住Ctrl键,然后分别按字母a字母d,此时会回到之前的终端页,但所有在screen会话中运行的任务都会继续进行。

列出会话

要查看当前所有的screen会话有哪些,可以执行以下命令

恢复会话

要重新连接到一个已经分离的screen会话,使用-r选项加上会话的ID名称

如果当前只有一个会话,可以直接使用以下命令

创建带名称的会话,比如

这样在重新连接时不用再通过-ls参数查看会话名称ID了,可以直接使用-r加名称的方式连接

创建会话并输出日志到指定文件中

会话共享

当A用户创建了一个新的会话,B用户加入了这个会话,那么此时就是共享会话,两边不管谁执行什么操作,另一个都可以实时看到

例:A用户执行screen -S whsir,B用户执行screen -r whsir,此时就是共享会话

退出会话

可以在连接会话后直接执行exit或Ctrl+d退出,也可以通过以下命令,这里[session]可以是正在运行的会话ID,也可以是名称

暴力退出也可以通过pkill screen

总之screen是一个功能强大的工具,可以显著提升你的终端会话管理能力,特别是在远程工作和长时间运行任务时。通过掌握screen的使用,你可以更高效地管理你的终端会话,并确保你的任务能够持续运行而不受连接中断的影响。

原文链接:linux必会命令之screen,转载请注明来源!

0