博采众长,精于一技。Live for love, work for dream.

linux 技巧:使用 screen 执行长时间运行的任务

你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

screen可以解决你的烦恼。
安装screen
Ubuntu下安装screen
sudo apt-get install screen

开始使用Screen
简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。在screen中创建一个新的窗口有这样几种方式:
1.直接在命令行键入screen命令
rebill@rebill-laptop:~$ screen
Screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样。在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切换到前一个窗口。
2.重新回到之前的工作状态
rebill@rebill-laptop:~$ screen -ls
There is a screen on:
        16582.pts-1.tivf06      (Detached)
1 Socket in /tmp/screens/S-root.

重新连接会话:
rebill@rebill-laptop:~$ screen -r 16582
看看出现什么了,太棒了,一切都在。继续干吧。

等任务做完之后,使用组合键“C-a K”退出当前screen,或者直接把screen进程kill掉就OK了。
rebill@rebill-laptop:~$ sudo kill -9 16582
rebill@rebill-laptop:~$ screen -wipe

参考文章:http://www.ibm.com/developerworks/cn/linux/l-cn-screen/

日志信息 »

该日志于2011-01-11 18:13由 Rebill 发表在运维管理分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过评论 RSS订阅这个日志的所有评论。

相关日志 »

赞助链接 »

仅有一条评论 »

  1. [...]linux 技巧:使用 screen 执行长时间运行的任务[...]

添加新评论 »

返回顶部
无觅相关文章插件,快速提升流量