Spouštějte paralelní požadavky pomocí příkazu xargs
The xargs příkaz je příkaz v operačních systémech Linux a UNIX, který přijímá nebo přijímá argumenty ze standardního vstupu a poté spouští příkaz pro každý argument. Jednoduše řečeno, příkaz xargs může převzít výstup příkazu a zpracovat jej jako argument jiného příkazu.
Například v níže uvedeném příkazu xargs přebírá argumenty na levé straně a vytváří adresáře pomocí názvů argumentů.
$ echo 'Afrika Asie Evropa Amerika' xargs mkdir
Příkaz xargs lze také použít ke spuštění více požadavků současně. Pokud zkontrolujete stránky, najdete sekci s argumenty příkazového řádku, jak je uvedeno níže.
Pomocí xargs se pokusíme přikázat provádění několika požadavků na zvlnění najednou.
Příkaz Linux curl je nástroj příkazového řádku, který se používá pro přenos souborů. Poskytuje podporu pro nesčetné množství protokolů, jako jsou HTTP, HTTPS, FTP, FTPS, SCP, TFTP a mnoho dalších.
Předpokládejme, že chcete získat záhlaví HTTP webu pomocí příkazu curl. Chcete-li to provést, budete muset vyvolat příkaz curl s příznakem -I následovaným adresou URL, jak je znázorněno.
$ curl -I "https: // linuxways.síť"
Právě jste odeslali jedinou žádost o zvlnění. Předpokládejme, že chcete provést 5 paralelních požadavků; jak bys o tom šel?? Řešením je použít příkaz xargs, jak je zobrazeno vedle příkazu curl.
$ xargs -I% -P 5 curl -I "https: // linuxways.síť" < <(printf '%s\n' 1… 10)Příznak -P označuje počet požadavků paralelně. Sekce <(printf '%s\n' 1… 10) vytiskne čísla 1 - 10 a způsobí, že se příkaz curl spustí 10krát s 5 paralelně spuštěnými požadavky.
Chcete-li dosáhnout stejného výsledku, můžete spustit níže uvedený příkaz. Stejně jako v předchozím příkladu, níže uvedený příkaz provede příkaz curl 10krát s 5 paralelními požadavky.
$ seq 1 10 | xargs -n1 -P 5 curl -I "https: // linuxways.síť"Vezměme si další příklad. Předpokládejme, že chcete současně stáhnout 3 soubory pomocí příkazu curl. Prvním krokem bude uložení adres URL souborů před stažením do textového souboru. Zde máme textový soubor ke stažení.txt s následujícími adresami URL.
Chcete-li soubory stáhnout současně, spusťte následující příkaz:
$ xargs -P 5 -n 1 zvlnění -O < download.txtPříkaz zvlní každý řádek v textovém souboru 5krát paralelně. The -n 1 příznak zajišťuje, že příkaz curl čte jeden řádek pro každé provedení příkazu curl.
A tak paralelně spouštíte více žádostí o zvlnění.