Príkazy pre Linux

Ako vykonávať paralelne viac požiadaviek na zvlnenie

Ako vykonávať paralelne viac požiadaviek na zvlnenie
Predpokladajme, že chcete z ľubovoľného dôvodu súčasne spustiť viac žiadostí o zvlnenie, napríklad 10 žiadostí súčasne. Ako by ste to zvládli? V tomto tutoriáli demonštrujeme, ako môžete súčasne vykonávať viac kučeravých požiadaviek.

Spúšťajte paralelné požiadavky pomocou príkazu xargs

The xargs príkaz je príkaz v operačných systémoch Linux a UNIX, ktorý prijíma alebo prijíma argumenty zo štandardného vstupu a potom spustí príkaz pre každý argument. Jednoducho povedané, príkaz xargs môže brať výstup príkazu a spracovať ho ako argument iného príkazu.

Napríklad v príkaze nižšie xargs vezme argumenty na ľavú stranu a vytvorí adresáre pomocou názvov argumentov.

$ echo 'Afrika Ázia Európa Amerika' xargs mkdir

Príkaz xargs je možné použiť aj na súčasné spustenie viacerých požiadaviek. Ak skontrolujete manpages, nájdete sekciu, ktorá obsahuje argumenty príkazového riadku, ako je uvedené nižšie.

Pomocou xargs sa pokúsime veliť vykonávaniu viacerých požiadaviek na zvlnenie súčasne.

Príkaz Linux curl je obslužný program príkazového riadku, ktorý sa používa na prenos súborov. Poskytuje podporu pre nespočetné množstvo protokolov, ako sú HTTP, HTTPS, FTP, FTPS, SCP, TFTP a mnoho ďalších.

Predpokladajme, že chcete získať hlavičky HTTP webu pomocou príkazu curl. Aby ste to dosiahli, budete musieť vyvolať príkaz curl s príznakom -I nasledovaným URL, ako je to znázornené.

$ curl -I "https: // linuxways.sieť "

Teraz ste práve odoslali jednu žiadosť o zvlnenie. Predpokladajme, že chcete vykonať 5 paralelných požiadaviek; ako by ste v tomto postupovali? Riešením je použitie príkazu xargs, ktorý je zobrazený vedľa príkazu curl.

$ xargs -I% -P 5 curl -I "https: // linuxways.sieť " < <(printf '%s\n' 1… 10)

Príznak -P označuje počet paralelných požiadaviek. Sekcia <(printf '%s\n' 1… 10) vypíše čísla 1 - 10 a spôsobí, že príkaz curl sa spustí 10-krát s 5 paralelne spustenými požiadavkami.

Ďalej môžete spustiť príkaz nižšie, aby ste dosiahli rovnaký výsledok. Rovnako ako v predchádzajúcom príklade, nižšie uvedený príkaz vykoná príkaz curl 10-krát s 5 paralelnými požiadavkami.

$ seq 1 10 | xargs -n1 -P 5 curl -I "https: // linuxways.sieť "

Zoberme si ďalší príklad. Predpokladajme, že chcete stiahnuť 3 súbory súčasne pomocou príkazu curl. Prvým krokom bude uloženie adries URL súborov pred stiahnutím do textového súboru. Tu máme stiahnutie textového súboru.txt s nasledujúcimi adresami URL.

Ak chcete súbory sťahovať súčasne, spustite nasledujúci príkaz:

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

Príkaz zvlní každý riadok v textovom súbore päťkrát paralelne. The -n 1 príznak zaisťuje, že príkaz curl načíta jeden riadok pre každé vykonanie príkazu curl.

A tak súčasne vykonávate viac požiadaviek na zvlnenie.

Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...
Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...
Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...