Shell screen的用法
博客专区 > Iuranus 的博客 > 博客详情
Shell screen的用法
Iuranus 发表于2年前
Shell screen的用法
  • 发表于 2年前
  • 阅读 328
  • 收藏 4
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 用SecureCRT之类工具SSH远程登录操作时,往往需要开启多个tab窗口进行多任务操作。其实我们也可以用screen这个强大的命令来支持,同时,screen具有比nohup更适用的不中断功能。

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状态)









共有 人打赏支持
粉丝 12
博文 41
码字总数 22439
×
Iuranus
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: