Shell screen的用法

SSH远程登录Linux之后执行任务时,遇到断网、断电或者电脑被人砸了导致客户端与远程服务器失联,会导致正在执行的任务挂掉。一般来说,耗时比较久的任务我们会用nohup sh xxx.sh &执行,但是,nohup无法让你介入操作,即使是kill都比较麻烦,得去找进程的pid。

screen的好处就是,可以让你像nohup那样“保存”正在执行的任务,也可以轻而易举地恢复到正在执行任务的“screen”当中。而无论客户端发生什么天灾人祸,服务器那边都能如期执行。Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果。并且,在这些虚拟终端中,它可以创建多个窗口。

例如登录之后:

screen    # 创建一个虚拟终端,生成默认的[pid.tty.host]名称
ctrl+a d    # 断开刚创建的终端,回到创建前环境
screen -S Develop    # 创建另一个终端,命名为Develop
screen -S 测试    # 在Develop的screen环境中,再创建一个终端,命名为测试
crtl+a d    # 断开刚创建的“测试”终端
screen -ls    # 查看已存在的虚拟终端,会告诉你每个终端的sessionid,如下:
#There are screens on:
#        24027.pts-2.xxx-host (Detached)
#        24489.Develop   (Detached)
#        25062.测试      (Attached)
#3 Sockets in /var/run/screen/S-work.
screen -r 24489    # 回到Develop终端中
exit    # 终止并退出Develop终端

上面讲的是screen创建终端,在终端中,还有一个窗口的概念。终端好比是浏览器,窗口就是浏览器中的tab页。

screen -r 24027    # 回到之前创建的终端中,一定要在screen终端中才可以创建窗口
ctrl+a c    # 创建窗口,然后随便在这个窗口中敲几个字符,方便辨认
ctrl+a c    # 再创建一个
ctrl+a p    # 切换到上一个窗口,也就是刚才敲了字符的那个
ctrl+a n    # 切换到下一个窗口
ctrl+a w    # 显示窗口列表
ctrl+a 0-9    # 切换制定的窗口
ctrl+a K    # 关闭当前窗口,并切换到下一窗口(当退出最后一个窗口时,该终端自动终止,并退回到原始shell状态)
exit    # 退出当前窗口,并切换到下一窗口(当退出最后一个窗口时,该终端自动终止,并退回到原始shell状态)









转载于:https://my.oschina.net/iuranus/blog/496443

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值