后台下载利器 —— 让shell退出了子进程可以继续运行
家里的NAS硬盘盒子功能强大,下载BT,电驴都没有任何问题。但是,如果要用最简单的下载方式(http和ftp)来下载大文件(比如一个4G多的ISO),就遇到了麻烦。我可以通过SSH远程登录该系统,用wget来下载,但是只要我一退出SSH,下载的进程也会随即结束。用硬盘盒子的好处就是不开电脑能够让它自己在后台慢慢下,但是如果一定要一台电脑连着用远程SHELL的方式来控制下载进程,那盒子本身的意义就不是非常大了。
今天,发现Linux下有个很好用的命令——nohup。使用该命令可以让子进程忽略掉SIGHUP命令,并将输出重定向到nohup.out这个文件当中。这样,当我们使用nohup调用某个程序并退出SHELL之后,该程序就不会受到SIGHUP强制退出的命令,还可以常驻后台直到任务结束。爽哉!这就是使用开放系统的好处,呵呵。于是,我可以放心大胆地敲入这个命令:
nohup wget http://www.***.com/***.iso
然后关上电脑,洗洗睡吧。第二天这个iso就已经自动存在于硬盘盒子里了。