Скрипт оболочки: создание новых процессов bash - PullRequest
2 голосов
/ 27 декабря 2011

Я пытаюсь быстро загрузить пакетное видео с YouTube.Я создал файл videos.txt с одной ссылкой на видео в строке:

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

У меня есть сценарий оболочки, который загружает видео:

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

Однакохотите ускорить процесс, добавив каждую команду youtube-dl в свое собственное окно процесса / терминала.Как я могу создать новое окно терминала / процесс для каждой из команд youtube-dl?

Примечание. Я пытался добавить команду youtube-dl к /bin/bash -cскрипт довольно глючный ... он не загружает все видео.

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Изменить эту строку:

youtube-dl $line

до

youtube-dl $line &

& запускает задание в фоновом режиме, позволяя продолжить родительскому сценарию.

Тем не менее, будьте осторожны, если у вас есть длинный список URL для захвата. YouTube будет недоволен тем, что вы засасываете их сайт, и слишком большое количество процессов загрузки в вашей системе может привести к остановке или полной поломке.

0 голосов
/ 27 декабря 2011

У YouTube есть раздел условий предоставления услуг ( Youtube TOS , см. 5-B), специально запрещающий это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...