Skip to content
{{TecBauer}}
  • Home
  • Datenschutzerklärung
  • Impressum

Schlagwort Multithreaded

  • Home   /  
  • Markierte Beiträge "Multithreaded"
Bash, Linux, Tricks Okt. 16,2019

Kommando Multithreaded in der BASH ausführen

Heute möchte ich euch vorstellen, wie es möglich ist mehrere Kommandos multithreaded in der Bash auszuführen. Einen konkreten Anwendungsfall könnt ihr euch wie folgt vorstellen:

Ihr habt eine Liste mit IP-Adressen die ihr pingen wollt. Oder noch besser eine List mit Objekten, die ihr gegen einen Server mittels curl POSTen wollt. Oder klassisch eine Liste von URLs die ihr herunterladen wollt. Eine solche Liste könnte so aussehen:

tecbauer@XELO:/tmp$ cat urls.txt 
google.de
tecbauer.de
google.com
bing.de

Ganz simple könnte man jetzt hergehen, über jede Zeile der Datei iterieren und den Prozess mit & in den Hintergrund legen, z. B. so:

for i in $(cat urls.txt); do wget -O- $i &; done

Wie aber kontrollieren wir aber nun wie viele Threads gleichzeitig gestartet werden? – Gar nicht. Es wäre viel zu kompliziert eine Logik dafür in einem Terminal auf einen Rutsch einzutippen. Stattdessen benutzen wir das Kommando xargs und dessen Option -P mit dieser Option kann man angeben mit wie vielen Threads der std-input in xargs verabeitet werden soll. Das ganze würde dann so aussehen:

cat urls.txt | xargs -P 4 -i wget -O- {}

Wir arbeiten also die Liste mit insgesamt 4 Threads ab. Und laden die Ressourcen paralell herunter.

von tecbauer

Neueste Beiträge

  • Bug im Windows 10 Home Edition Taschenrechner ?
  • TCPdump eines einzelnen Kubernetes Pods / Docker Containers erstellen
  • Kommando Multithreaded in der BASH ausführen
  • Product Catalog X – Ein einfacher WordPress Produktkatalog
  • Versionsbefreite Kubernetes Deploymentfiles

Neueste Kommentare

    Kategorien

    • Aliase
    • Bash
    • Bugs
    • DevOps
    • Docker
    • Kubernetes
    • Linux
    • Tools
    • Tricks
    • Ubuntu
    • Uncategorized
    • Unnützes Wissen
    • Windows
    • Wordpress

    All Rights Reserved by TecBauer.