我们有时候会有这样的情况,就是经常需要远程登录到服务器上,然后在服务器上运行一些程序,有时候这个程序会运行很长世间(可能几个小时、甚至几天);如果程序没有结束就退出远程管理终端,那么这个程序也会因此终端退出;不仅提供了类似于nohup的功能,而且提供了我非常喜欢的“多个终端”的功能。


screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的SSH连接窗口那样。


1、安装

 yum install -y screen


2、操作使用


(1)、打开一个回话,直接输入screen命令回车就可以进入一个screen会话。

 screen


(2)、Ctrl +a 再按d退出该screen会话,只是退出,并没有结束。结束的话输入Ctrl +d 或者输入exit


(3)、查看已经打开的screen会话用:

screen –ls


(4)、如果要进入某个srceen会话,使用screen –ls 查看已经打开的会话,然后使用如下命令进该会话

screen –r [screen id]



(5)、创建screen回话的时候,可以自定义screen的名字,使用-S 参数,

screen -S balich01


(6)、退出screen会话,输入exit 即可或者Crtl+d


(7)、有些时候,因为网络或其他原因导致中断了scree会话,在使用screen -r 重新连接时候,会有如下的提示:

screen -ls
There is a screen on:
        1316.pts-0.balichgnu    (Attached)
1 Socket in /var/run/screen/S-root.


需要连接上去,需要使用screen -x 来连接,如:

screen -x 1316