Shell Bsh / Bsh Pipes
 
StartSeite | ShellBsh/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

 
      Die Pipelines arbeiten in Voreinstellung mit temporären Dateien,
      genau: mit seek-baren, verschachtelten Dateiendabschnitten,
      wahlweise (per -U, set -U) mit der Funktion pipe().
      Das hat mehr Vorteile als pipe() Vorteile hat:
           o  Funktioniert mit allen Betriebssystemen.
           o  Man erhält eine temporäre Datei 'on the fly'.
           o  Diese Datei kann mittels 'seek' mehrfach gelesen werden.
           o  Es gibt keine (Lese-)Probleme mit Kommandos, die bei
              'echten' pipe()s versagen.
              (Kommandos, die keine ausdrücklichen Filterkommandos sind.)
           o  Die Prozesse werden nacheinander gestartet,
           o  sie können sich nicht gegenseitig stören,
           o  die momentane Prozeßlast ist geringer,
           o  der Exit ist von jedem in der Kette eindeutig erhältlich.
           o  SIGPIPE kann nicht vorkommen, bei vorzeitigem Beenden
              eines Kommandos in der Pipe.
           o  Beliebige gewollte Rückwirkungen aus der Pipe-Kette
              heraus sind möglich. (Nur 1 Prozeßkontext)
      Vorteile von pipe():
           o  Der Datenstrom darf beliebig groß sein.
           o  Müßte prinzipiell schneller arbeiten,
              zumindest bei großen Datenmengen pro Vorgang.
           o  Permanentes Monitoring ist möglich.
      Echte Pipelines per  -U/+U und set -/+U  nur unter Unix.
      (Siehe set-Kommando)

      Beispiel Geschwindigkeit:
      -------------------------
      time bsh -pU -c "cat /usr/ARCH/3.tar | sum -ll"
      time bsh -pU -c "cat /usr/ARCH/3.tar | sum -ll"
      time bsh -p  -c "cat /usr/ARCH/3.tar | sum -ll"
      time bsh -p  -c "sum -ll < /usr/ARCH/3.tar"
      16580123892488523
            1.99 real         0.06 user         0.26 sys
            0.28 real         0.04 user         0.22 sys
            4.99 real         0.07 user         1.56 sys
            0.19 real         0.04 user         0.13 sys
      (Datei 3.tar == 50 MB)


KategorieUnix
StartSeite | ShellBsh/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 11. März 2004 20:58 (diff))
Suchbegriff: gesucht wird
im Titel
im Text