Screen技巧
Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。
有了Screen,就不用当心我们在ssh连接linux执行命令或者脚本时候shh断开而造成影响了。
【创建完yourname的会话以后就可以去放心的执行我们想运行的东西了,在此期间,可以随时关闭SSH,或自己的电脑,我们执行的东西仍然在服务端不停的执行】
删除screen
常用的使用方法
1.1 创建screen会话
可以先执行:screen -S zgy ,screen就会创建一个名字为zgy的会话。
1.2 离开或者关闭ssh会话,保留screen会话中的任务或程序的继续执行
当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)
1.3 恢复screen会话,你会看到它还在自己没有停止的执行!
当回来时可以再执行执行:screen -r zgy 即可恢复到离开前创建的zgy会话的工作界面。
如果忘记了创建的Screen会话名称,或者当时没有指定会话名
可以执行:screen -ls screen会列出当前存在的会话列表,一串数字.zgy即为刚才的screen创建的zgy会话,目前已经暂时退出了zgy会话,所以状态为Detached,当使用screen -r zgy后状态就会变为Attached,这一串数字是这个screen的会话的进程ID,恢复会话时也可以使用:screen -r 这串数字
1.4 关闭screen的会话
执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。
常用快捷键
Ctrl+a c :在当前screen会话中创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换
有 的时候挂到screen会话后可能希望看到历史输出,用滚动条是不行的,screen提供了Ctrl-a [命令,这时会进入到复制模式,你可以用方向键或者翻页键很方便的在历史输出中移动,同时,因为前面说了,是进入到复制模式,你可以用回车,设置复制的开 始点,然后再按一次回车设置复制的结束点,同时会退出复制模式,这时用Ctrl-a ]命令,可以把前面选择的内容粘贴到当前screen窗口。翻历史输出时可以用g移动到历史缓冲区首,用G移动到历史缓冲区尾,方便吧?
遇到问题:滚动条怎么弄?