大家在起后台服务,或者长时间执行某个脚本的时候。

 

是不是感觉,交互性很差,

有时,想把结果直接在终端上输出,又怕不小心关闭了终端导致进程退出? (有些sshd服务还会设置连接超时,自动退出终端)

 

现在用 screen 这个指令可以很好的解决跑后台服务的尴尬。

 

命令其实超简单的:

 

直接在终端上输入 screen , 这个时候,服务器端会启一个新的终端,但这个终端,与之前的普通终端不一样,它不隶属于 sshd 进程组,这样,当本地终端关闭后,服务器终端不会被 kill。

 

当然,优点还不止这么些,在服务器终端里执行任务时,你甚至可以随时地切换到本地终端做些其他事情,然后,要回去时,再恢复到刚才已经打开的服务器终端里,如果刚才的任务没有结束,还可以继续执行任务。

 

操作步骤:

首先,进入 screen -S sessionname终端。(sessionname是为了分辨你的session)

然后按 ctrl + a ,再按 d 键暂时退出终端。

当要返回时, 先查看刚才的终端进程ID, screen -list

或直接

 screen -r xx (刚才的sessionname)就可以了

当然,当你开了很多个session后,打算关闭几个session,可以进入到session后,exit 一下就可以了.

 

总的来说, screen是可以完全替代 nohup 的,并且本身提供了较复杂的功能,但是我认为,刚才那些简单的功能足以应付日常运作。

如果对该指令感兴趣的朋友,推荐一篇文章:

 

http://www.ibm.com/developerworks/cn/linux/l-cn-screen/

 

评论
galaxystar 2008-03-11
lgn21st 写道
一直用screen,倒是没有用过nohub
问个问题,如果远程服务器是Ubuntu,如何让screen里面的颜色支持256色以上
我自己的console下面,vim的颜色高亮配置的非常舒服,到了screen里面就难看的要死


这个没研究过,
不过,我感觉screen是跑后台程序用的,没必要那么好看。
是吧?
lgn21st 2008-03-11
一直用screen,倒是没有用过nohub
问个问题,如果远程服务器是Ubuntu,如何让screen里面的颜色支持256色以上
我自己的console下面,vim的颜色高亮配置的非常舒服,到了screen里面就难看的要死
galaxystar 2008-03-11
感觉screen很有优势,特别在易用性上,使用起来跟普通终端里,无任何区别.

再也不用在命令后面加 & 符号,来启动后台程序,直接多开几个 screen ,让它在前台跑着就行了
jigsaw 2008-03-11
robbin 写道
真不幸,看了这篇文章才发现我的Linux上面没有screen这个命令。nohup是各种Unix通用的一个命令,这恐怕也是为啥这么长时间大家还是用nohup的原因吧。


GNU的产品 装起来很容易的
tinywind 2008-03-11
一直在用screen,到不是为了替代nohup,它能够让你的工作一直延续下去。如果同时在多台机器上开发的话,它的优势就很明显。
robbin 2008-03-10
真不幸,看了这篇文章才发现我的Linux上面没有screen这个命令。nohup是各种Unix通用的一个命令,这恐怕也是为啥这么长时间大家还是用nohup的原因吧。
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

galaxystar
搜索本博客
存档
最新评论