Linux多任务处理命令-screen

今天利用wget命令下载一个big file,苦于如下问题:
1. 如果直接运行,那么会有一个terminal窗口被占用。看着头疼,而且电脑一旦被关闭,任务也会结束;
2. 尽管可以通过-b参数让下载任务后台运行,但它需要写一个wget-log文件存储下载进度的log,当文件比较大的时候,这个wget-log会非常大。如果将其删除,那么无法查看下载进度;

师兄提到可以利用screen命令做一个多任务处理的窗口。这样来做:
1.创建一个screen并将其命名为your_name,然后你会进入到这个screen;

$screen -S your_name

2.在这个screen里面直接运行下载任务

$wget download-link

3.先按control + A 然后+D (组合键control + A + D),退出当前screen回到主Terminal;
4.运行

$screen -r your_name

可以随时进入到指定的screen,通过这种方法便可以查看下载进度;
5.回到主terminal,退出,关机,下次登陆terminal时通过

$screen -ls

可以查询已有的screen,你会发现那个下载任务的screen还在。

当然,这种方法仅限于不会关机的服务器。如果你在本地使用screen,随着计算机关机,所有的screen都会关闭。

更多关于screen的用法可以查询Google,对于初学者来说,screen用起来有点诡异。

猜你喜欢

转载自blog.csdn.net/wuyanxue/article/details/80904877