Linux-kommandoer

Sådan udføres flere krølleanmodninger parallelt

Sådan udføres flere krølleanmodninger parallelt
Antag, at du vil køre flere krølleanmodninger samtidigt af en eller anden grund, sig 10 anmodninger på samme tid. Hvordan vil du gøre det?? I denne vejledning demonstrerer vi, hvordan du kan udføre flere krøllede anmodninger samtidigt.

Kør parallelle anmodninger ved hjælp af kommandoen xargs

Det xargs kommando er en kommando i Linux og UNIX-lignende operativsystemer, der accepterer eller tager argumenter fra standardinput og derefter kører en kommando for hvert argument. Kort sagt kan kommandoen xargs tage output fra en kommando og behandle den som et argument for en anden kommando.

I kommandoen nedenfor tager xargs for eksempel argumenterne på venstre side og opretter mapper ved hjælp af argumentnavne.

$ ekko 'Afrika Asien Europa Amerika' | xargs mkdir

Xargs-kommandoen kan også bruges til at køre flere anmodninger samtidigt. Hvis du tjekker manpages, finder du et afsnit, der giver dig kommandolinjeargumenterne som angivet nedenfor.

Ved hjælp af xargs vil vi forsøge at beordre udførelsen af ​​flere curl-anmodninger på samme tid.

Linux curl-kommandoen er et kommandolinjeprogram, der bruges til filoverførsel. Det giver support til et utal af protokoller som HTTP, HTTPS, FTP, FTPS, SCP, TFTP og så mange flere.

Antag at du vil hente HTTP-overskrifterne på et websted ved hjælp af curl-kommandoen. For at gøre dette skal du påberåbe curl-kommandoen med -I-flag efterfulgt af URL'en som vist.

$ curl -I "https: // linuxways.net"

Nu har du lige sendt en enkelt krølleanmodning. Antag at du vil udføre 5 parallelle anmodninger; hvordan ville du gå om dette?? Løsningen på dette er at bruge kommandoen xargs som vist sammen med curl-kommandoen.

$ xargs -I% -P 5 krøller -I "https: // linuxways.net" < <(printf '%s\n' 1… 10)

Flagget -P angiver antallet af anmodninger parallelt. Sektionen <(printf '%s\n' 1… 10) udskriver tallene 1 - 10 og får curl-kommandoen til at køre 10 gange med 5 anmodninger, der kører parallelt.

Derudover kan du køre kommandoen nedenfor for at opnå det samme resultat. Som med det foregående eksempel udfører kommandoen nedenfor curl-kommandoen 10 gange med 5 anmodninger parallelt.

$ seq 1 10 | xargs -n1 -P 5 krølle -I "https: // linuxways.net"

Lad os tage et andet eksempel. Antag at du vil downloade 3 filer samtidigt ved hjælp af curl-kommandoen. Det første trin vil være at gemme URL'erne til filerne fra at blive downloadet i en tekstfil. Her har vi en tekstfil download.txt med følgende webadresser.

For at downloade filerne samtidigt skal du køre følgende kommando:

$ xargs -P 5 -n 1 krølle -O < download.txt

Kommandoen krøller hver linje i tekstfilen 5 gange parallelt. Det -n 1 flag sikrer, at curl-kommandoen læser en linje for hver udførelse af curl-kommandoen.

Og det er sådan, du udfører flere krølleanmodninger parallelt.

Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...