后台执行好工具--screen

关键字:  后台 , screen

 

1.敲入命令screen会创建一个跑着shell的单一窗口,在这里面你可以跑你所需要的程序

 2.新建后台的screen,并带有名字,screen -dmS XXXX,然后Ctrl+a d退出刚创建的窗口(回到进入screen前的环境),然后再敲入命令screen创建新的终端窗口,就这样你可以建立多个有shell的窗口(这些窗口里都可以跑你自己的应用),这样即使你退出远程管理窗口(进入screen的环境),你的screen窗间的窗口都不会关闭,里面跑得应用自然也不会当掉

  3.用screen -ls可以看所有的screen sessions

  4.用screen -r sessionid可以进sessionid指定的特定的screen session(或者screen -r  会话名)

  5.screen session不再使用的时候,screen -r sessionid进去,exit退出即可

  6.在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。现在让我来简单介绍基本的命令C-a c -> Create,开启新的 window

C-a n -> Next,切换到下个 window

C-a p -> Previous,前一个 window

C-a C-a -> Other,在两个 window 间切换

C-a w -> Windows,列出已开启的 windows 有那些

C-a 0 -> 切换到第 0 个 window

C-a 1..9 -> 切换到第 1..9 个windowC-a a -> 发出 C-a,在 emacs, ve, bash, tcsh 下可移到行首C-a t -> Time,显示当前时间,和系统的 load


下文转自:http://www.9usb.net/201002/linux-screen-mingling.html 
什么是screen命令?

Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果。

Screen功能说明:简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一个单一的终端窗口运行多终端的应用。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

Screen命令语法:

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

Screen命令参数:

-A -[r|R]          将所有的视窗都调整为目前终端机的大小。

-c filename        用指定的filename文件替代screen的配置文件’.screenrc’.

-d [pid.tty.host]  断开screen进程(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen里)。一般进程的名字是以pid.tty.host这种形式表示(用screen -list命令可以看出状态)。

-D [pid.tty.host]  与-d命令实现一样的功能,区别就是如果执行成功,会踢掉原来在screen里的用户并让他logout。

-h <行数>       指定视窗的缓冲区行数。

-ls或–list        显示目前所有的screen作业。

-m                    即使目前已在作业中的screen作业,仍强制建立新的screen作业。

-p number or name  预先选择一个窗口。

-r [pid.tty.host]  恢复离线的screen进程,如果有多个断开的进程,需要指定[pid.tty.host]

-R                      先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

-s shell             指定建立新视窗时,所要执行的shell。

-S <作业名称>  指定screen作业的名称。(用来替代[pid.tty.host]的命名方式,可以简化操作).

-v                     显示版本信息。

-wipe                检查目前所有的screen作业,并删除已经无法使用的screen作业。

-x                     恢复之前离线的screen作业。


Screen命令的常规用法:

screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。

screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接

screen -ls或者-list:显示存在的screen进程,

常用命令screen -m:如果在一个Screen进程里,用快捷键crtl+a c或者直接打screen可以创建一个新窗口,screen -m可以新建一个screen进程。

screen -dm:新建一个screen,并默认是detached模式,也就是建好之后不会连上去。

screen -p number or name:预先选择一个窗口。


Screen实现后台运行程序的简单步骤:

1> 要进行某项操作时,先使用命令创建一个Screen:

[linux@user~]$ screen -S test1

2>接着就可以在里面进行操作

如果你的任务还没完成就要走开的话,使用命令保留Screen

[linux@user~]$ Ctrl+a+d                    

#按Ctrl+a,然后再按d即可保留Screen[detached]                                 

#这时会显示出这个提示,说明已经保留好Screen了

如果你工作完成的话,就直接输入:

[linux@user~]$ exit                        

#这样就表示成功退出了[screen is terminating]

3> 如果你上一次保留了Screen,可以使用命令查看:

[linux@user~]$ screen -lsThere is a screen on:9649.test1   (Detached)

恢复Screen,使用命令:[linux@user~]$ screen -r test1 (or 9649)

猜你喜欢

转载自flynewton.iteye.com/blog/899802