用xshell登陆到远程机器上运行长作业的时候,如果xshell会话意外关闭(比如本地服务器重启了),作业会被终止,但是用screen环境运行的作业,在退出(deattach)screen之后,仍然在远程服务器运行,xshell可以关闭,笔记本可以拿走,并且以后可以通过screen重新连接到deattach之前的运行环境,很方便。
下面是简单的使用方法:
$ ssh remote_machine
remote_machine $screen -S longjob // 创建窗口,
-S 后面指定的是会话的名称
remote_machine $ ./exe1 // 像平常bash一样工作
输入 Ctrl + a,马上接 Ctrl + d ,screen 的 socket 连接就断开了 ( detached ),一切回到了执行 screen 的那个 bash 。
$ ssh remote_machine
remote_machine $screen -r longjob // 恢复会话,-r后面是会话名称
remote_machine $screen -list // 列出当前存在的会话
更详细的介绍可以看这个页面:
http://xliu.org/blog/2009/12/gnu-screen.html
screen是安装在远程服务器上的工具,centos默认已经安装了。