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/

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