远程登陆对服务器使用者来说是常态,但是有的时候网络连接不稳定,又或是当前需要处理的任务需要几个小时甚至十几个小时,况且还没有作业调度系统。如果程序运行中ssh连接挂了或者你要收拾电脑回家,那么前面的任务就白跑了,下一次还得从头开始。这种情况下,screen就是一个很好的选择。
简单来说,screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。在screen中执行的程序,就算当前连接断掉了也没有关系,服务器上的程序还会继续运行,就像什么都没发生过一样。下面介绍一下最简单的用法。
$ screen $ 执行程序……
C-a d
# C-a 指 Ctrl-a,下同
$ screen -ls #系统会列出当前detach的screen,如: There is a screen on: 16582.pts-1.tivf06 (Detached) 1 Socket in /tmp/screens/S-root.
$ screen -r 16582
$ exit C-d C-a k