screen命令让断开SSH/TELNET的你依然可以保持程序继续运行工作

来源:互联网 发布:淘宝号可以改账户名吗 编辑:程序博客网 时间:2024/04/30 03:32
这几天研究CENTOS,一直在SSH上操作,感觉很爽。但是有时一不小心断网什么的,SSH上正在编译的那些程序就白费了!特别是编译那些很久很久的程序时,特别心疼。有时候下课了也要等他编译完才敢走。现在发现一个好命令"screen"说他是命令,不如说它工具,因为它不是系统自带的。一般装最小化的LINUX如CENTOS等都要自己装,CENTOS可以用yum来装:

Linux 命令
  1. yum install screen  

这里是screen的命令介绍:

输入

Linux 命令
  1. screen  

 

之后就可以使用快捷键了:

 

Ctrl +a c,新创建一个screen回话。如果你用 putty/pietty,你只能再开一个 putty/pietty 了,而 screen 不用那么麻烦。

Ctrl+a a,在现在使用的和上一个使用的终端之间切换。

Ctrl+a 1,切换到第一个终端。

Ctrl+a Ctrl+2,切换到第二个终端。

Ctrl+a d,这个是你最关心的。比如:你在用源码编译一个东西,运行了 ./configure,时间比较长(地球人都知道),而这时候你必须断开 ssh 连接,但是你又不希望用 Ctrl+C 中断这个 configure 过程,那你就来一个 Ctrl+a d 吧,它会在后台继续工作的。之后就可以关闭SSH。

PS:按快捷键的方法是:先Ctrl和a一起按,之后放手,再按c

那么就会问了,断开后怎么重新进入之前的screen回话呢?

登陆SSH后,我们只用输入:

Linux 命令
  1. screen -r  

PS:如果在已经输入过screen命令后再输入screen,就会开启另一个screen程序,所以应该是输入screen -r

如果只开了一个screen程序,就会进入直接进入那一个

如果开了多个就会显示类似如下的信息:

Linux 回显
  1. [root@堕落∮木头 ~]# screen -r  
  2. There are several suitable screens on:  
  3.         9690.pts-0.173-252-201-217      (Detached)  
  4.         9482.pts-0.173-252-201-217      (Detached)  
  5.         9549.pts-0.173-252-201-217      (Detached)  
  6. Type "screen [-d] -r [pid.]tty.host" to resume one of them.  

这个时候,输入

Linux 命令
  1. screen -r 9549  

就能进入第三个screen程序,在里面就可以用快捷键切换之前开启的回话。


原文地址:

http://www.hackerbug.com/archives/39.html

原创粉丝点击