#安装screen工具

yum install screen


#新建立一个screen窗口,名称是yourname。建议起名时候注意与其内部执行的任务的关联性,以便以后能想起来干了些什么

screen -S yourname


#退出窗口(类似于最小化窗口)但不关闭窗口,如果每个窗口固定干某项任务,当然要换到其他窗口干别的。方法是按住ctrl键然后按一下a(同windows全选快捷键ctrl+a的操作方法),松开ctrl和a键后,按一下d


#查看一共有哪些screen窗口,Detached状态表示此窗口没有被显示,Attached状态表示此窗口正被显示

screen -ls


#切换回yourname这个窗口,之前比如下载了很大的文件,没有下完,就还能看到正在下。切换时使用yourname这个窗口的id,比如11987.yourname当然使用yourname也可以切换过去,不过如果窗口名字很短,又没有重名的情况还是用窗口名比较方便

screen -r 11987

screen -r yourname


#停止、关闭窗口。可能还有更好的方法,我暂时还没用到。我所知道的是先screen -r切换到想要停止的那个窗口,先ctrl+a,松开,然后按一下k或者\ 屏幕下方会提示是否真的关闭,按y就关闭了


#一个窗口可以再建很多子窗口,切换到下一个子窗口的方法是ctrl+a,松开,然后按一下n


#有时候一台机器上有其他用户attached某个窗口,此时你无法用screen -r 进程号/窗口名 激活该窗口,就需要先screen -d 进程号/窗口名把那个attached状态的detached一下,再screen -r attach上去看


#如果要建立很多窗口和子窗口,容易晕。所以窗口名字就变得尤其重要了……ctrl+a再按A输入窗口名,ctrl+a再按w查看窗口名


#如果想两个人共同观看、操作同个窗口,比如不使用screen -d 窗口名的方法detach一个窗口,就执行screen -x 窗口名直接连上去看。用screen -d会让所有attach在那窗口的人detach到外面来,所以退出的方法是ctrl+a后按d


遇到screen的某一些窗口死了,ctrl+a k都kill不了的,就ps -ef |grep SCREEN然后kill -9那个pid就可以了,注意grep后面是全大写的SCREEN。kill掉以后,screen -ls会看到一个dead ?执行screen -wipe就可以清掉了。



我没有特别频繁使用,只有一些特殊情况,需要挂机或者怕中断的任务,才用screen用完就立即kill掉,所以很多高级用法还没有用到。我相信如果用得很频繁,比如断电、电脑经常蓝屏等特殊情况,还是必须选择一款screen或同类软件的。我听说tmux是比screen更高级更好用的工具