определить, закрыт ли файловый дескриптор

Открытие нескольких подключений не сильно поможет вам, если вы отправляете только одну загрузку на aria2cи когда размер файла мал. Но вы можете легко запустить несколько команд aria2cпараллельно, используяxargs -P <num>

Убедитесь, что значение -Pне превышает разрешенного сервером, иначе сервер вернет ошибку.


find. -type f -printf '%P\n' \
    | xargs -I{} -P6 aria2c -x 1 -s 1 "https://web.archive.org/save/https://{}"

Или позвольте xargsдобавить все URL только к одному aria2cвызову:

find. -type f -exec 'https://web.archive.org/save/https://%P\n' \
    | xargs aria2c -x 16 -s 1

Но я думаю, что лучшим вариантом было бы создать файловый дескриптор из findв качестве входных данных для aria2вместо использования конвейеров и xargs.

aria2c -x 16 -s 1 -i <(find. -type f -printf 'https://web.archive.org/save/https://%P\n')
3
21.08.2020, 08:11
1 ответ
fd_is_open() (: >&"$1") 2>/dev/null;

if fd_is_open 7; then
  ...
fi

Это дает ложное срабатывание для fd 2, так как мы должны открыть его, чтобы отключить сообщения об ошибках.

3
18.03.2021, 23:11

Теги

Похожие вопросы