Shell脚本:创建新的bash进程

时间:2011-12-27 19:44:25

标签: bash terminal

我正在尝试快速批量下载Youtube视频。我创建了一个文件videos.txt,每行一个视频链接:

http://www.youtube.com/watch?v=**********
http://www.youtube.com/watch?v=**********
http://www.youtube.com/watch?v=**********
...

我有一个将下载视频的shell脚本:

cat videos.txt | while read line; do 
    echo $line
    youtube-dl $line
done

但是,我想通过将每个youtube-dl命令分支到自己的进程/终端窗口来加快进程。 如何为每个youtube-dl命令创建新终端窗口/进程

注意:我试图在youtube-dl之前添加/bin/bash -c命令,但脚本非常糟糕......它不会下载所有视频。

2 个答案:

答案 0 :(得分:1)

更改此行:

youtube-dl $line

youtube-dl $line &

&在后​​台启动作业,允许父脚本继续。

但是,如果你有很长的网址列表,请小心这样做。 Youtube会对你吮吸他们的网站感到皱眉,并且在你的系统上有太多的下载过程可能会使事情陷入停顿或彻底崩溃。

答案 1 :(得分:-1)

Youtube有一部分服务条款(Youtube TOS,见5-B)明确禁止这一点。