Linux下screen主要是管理程序的,用screen管理的进程可以在用户断开连接的时候保持程序继续在服务器上运行。
第一步:首先肯定是登录到linux服务器上。敲入screen -ls 命令可以看到服务器上已有的screen。
用screen -S(s的大写)
screen名称可以创建一个screen。
用screen -d
命令可以离开该screen,但不会杀死该screen进程。
如果用exit命令就是关闭该screen的某个窗口,如果只有一个创建了一个窗口同时也会杀掉这个screen进程。
当我们创建好了一个screen的时候,可以用
screen -x 名称进入该screen
界面。在这里就可以选择执行一个断开跟服务器连接保持程序在服务器上抛得程序。执行了一个后可以按
ctrl+a+c创建一个新的screen窗体。(推荐一个screen窗口最好执行一个程序这样有利于程序的关闭)。
我们创建了多个screen窗口的时候,可以用ctrl+a+n来达到切换效果。
当我们把程序运行完成后,就用 screen +d
离开这个screen程序,但不杀掉该screen。
screen -v现实版本信息。
screen
-x恢复之前离线的screen作业。
screen -wipe
检查目前所有的screen作业,并删除已经无法使用的screen.
screen -r
恢复离线的screen作业。
screen 实例操作:
输入 screen -ls可以看到两个 screen
程序 app和msg (后面的Detached 代表是离线的如果有后面是 Deaded
...说明该screen已经被杀死)
Last login: Tue Mar 29 08:41:27 2011 from 192.168.122.128
Script started, file is /dev/null
[dcnms@LNServer ~]$ screen -ls
There are screens on:
17431.app (Detached)
10641.msg (Detached)
2 Sockets in /var/run/screen/S-dcnms.
[dcnms@LNServer ~]$
执行 screen -S test 出现如下视图,这其实就是一个虚拟的screen窗体
[dcnms@LNServer ~]$
在该窗体执行 screen -d 命令后 在执行 screen -ls命令
[remote detached]
[dcnms@LNServer ~]$ screen -ls
There are screens on:
17431.app (Detached)
32515.test (Detached)
10641.msg (Detached)
3 Sockets in /var/run/screen/S-dcnms.
[dcnms@LNServer ~]$
你会发现其中 remote detached 是退出screen但没有杀死该screen的标志。
多了一个叫test的screen 进程。在执行
screen -x test可以重新恢复之前离线的test screen作业。
大致说到这里吧。后续操作就不在赘述了。