Linux команди

Как да изпълнявам множество заявки за къдрене паралелно

Как да изпълнявам множество заявки за къдрене паралелно
Да предположим, че искате да изпълнявате едновременно няколко заявки за къдрене по някаква причина, да речем 10 заявки едновременно. Как бихте го направили? В този урок ние демонстрираме как можете да изпълнявате едновременно множество къдрави заявки.

Изпълнете паралелни заявки с помощта на командата xargs

The xargs command е команда в операционни системи, подобни на Linux и UNIX, която приема или взема аргументи от стандартен вход и след това изпълнява команда за всеки аргумент. Просто казано, командата xargs може да вземе изхода на команда и да я обработи като аргумент на друга команда.

Например в командата по-долу xargs взема аргументите отляво и създава директории, използвайки имената на аргументите.

$ echo 'Африка Азия Европа Америка' | xargs mkdir

Командата xargs може също да се използва за едновременно изпълнение на множество заявки. Ако проверите страниците, ще намерите раздел, който ви дава аргументите на командния ред, както е посочено по-долу.

Използвайки xargs, ние ще се опитаме да командваме изпълнението на множество заявки за къдрене едновременно.

Командата за навиване на Linux е помощна програма за команден ред, която се използва за прехвърляне на файлове. Той осигурява поддръжка за безброй протоколи като HTTP, HTTPS, FTP, FTPS, SCP, TFTP и много други.

Да предположим, че искате да получите HTTP заглавките на уебсайт, като използвате командата curl. За да направите това, ще трябва да извикате командата curl с флага -I, последван от URL адреса, както е показано.

$ curl -I "https: // linuxways.мрежа "

Сега току-що сте изпратили една заявка за къдрене. Да предположим, че искате да изпълните 5 паралелни заявки; как бихте постъпили по този въпрос? Решението за това е да се използва командата xargs, както е показано заедно с командата curl.

$ xargs -I% -P 5 curl -I "https: // linuxways.мрежа " < <(printf '%s\n' 1… 10)

Флагът -P обозначава броя на заявките паралелно. Разделът <(printf '%s\n' 1… 10) отпечатва числата 1 - 10 и кара командата curl да се изпълнява 10 пъти с 5 заявки, работещи паралелно.

Освен това можете да изпълните командата по-долу, за да постигнете същия резултат. Както при предишния пример, командата по-долу изпълнява командата curl 10 пъти с 5 паралелни заявки.

$ sq 1 10 | xargs -n1 -P 5 curl -I "https: // linuxways.мрежа "

Да вземем друг пример. Да предположим, че искате да изтеглите едновременно 3 файла, като използвате командата curl. Първата стъпка ще бъде да запазите URL адресите на файловете от изтегляне в текстов файл. Тук имаме изтегляне на текстов файл.txt със следните URL адреси.

За да изтеглите файловете едновременно, изпълнете следната команда:

$ xargs -P 5 -n 1 curl -O < download.txt

Командата навива всеки ред в текстовия файл 5 пъти паралелно. The -n 1 flag гарантира, че командата curl чете по един ред за всяко изпълнение на командата curl.

И по този начин изпълнявате множество заявки за къдрене паралелно.

Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...
Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...