Linux里的screen命令

Linux里的screen命令

在日常学习中,我们经常会遇到这样的情况。在使用SSH 或者telent 远程登录到Linux 服务器中运行一些大的耗时长的程序时,由于它们执行的时间太长,必须等待这些程序执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废。使用screen命令可以很好的解决这个问题。

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

screen的基本功能

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

  • 会话恢复
    只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
  • 多窗口
    在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。
  • 会话共享
    Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

语法

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

参数说明

-A  将所有的视窗都调整为目前终端机的大小。
-ls或–list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

-d <作业名称>  将指定的screen作业离线。

-h <行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。

-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

-s  指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。

基本命令

screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session

问题

有时在恢复 screen 时会出现 There is no screen to be resumed matching ****,遇到这种情况咋办呢?输入命令

screen -d ****

然后再使用恢复命令恢复就 ok 了

screen窗口的结束

正常关闭

可以在某个screen下直接输入

exit

即可结束当前screen

强制关闭

可以使用screen名字,kill掉。

screen -S session_name -X quit

参考

  1. linux screen命令详解, https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html
  2. 使用screen恢复会话时出现There is no screen to be resumed matching错误解决办法, https://blog.csdn.net/weixin_37968799/article/details/63754180
  3. linux screen的用法, https://www.jianshu.com/p/e91746ef4058
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linuxscreen命令用于多重视窗管理程序,可以在与终端断开连接之后后台继续运行程序。使用screen命令的基本用法是创建一个会话,可以通过命令"screen -S session_name"来创建一个会话,其中session_name是会话的名称。\[1\]创建会话后,会进入Screen的世界,可以在会话中执行各种命令或打开程序。可以通过在screen命令后加入参数来直接打开指定的程序。\[2\]此外,GNU Screen还提供了丰富强大的定制功能,可以在配置文件/etc/screenrc和$HOME/.screenrc中指定更多选项,如设定screen选项、定制绑定键、设定会话自启动窗口、启用多用户模式等。也可以自己指定screen配置文件。\[3\] #### 引用[.reference_title] - *1* [linux screen 命令的使用教程](https://blog.csdn.net/m0_37772653/article/details/124287138)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Linuxscreen的使用](https://blog.csdn.net/weixin_43570155/article/details/121845415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值