Dies ist der Befehl cpipe, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
cpipe – Kopieren Sie stdin nach stdout, während Sie Bytes zählen und den Fortschritt melden
ZUSAMMENFASSUNG
cpipe [-b bsize] [-vt] [-vr] [-vw] [-ngr] [-s Geschwindigkeit]
OPTIONAL
-b Puffergröße in kB,
1 Int-Wert zwischen 1 und oo.
Standard: „128“
-vt zeigt den Durchsatz an.
-vr zeigt Lesezeiten an.
-vw Schreibzeiten anzeigen.
-ngr nicht gieriges Lesen. Erzwingen Sie beim Lesen keinen vollen Puffer, bevor Sie mit dem Schreiben beginnen.
-s Durchsatzgeschwindigkeitsbegrenzung in kB/s,
1 Doppelter Wert zwischen 1 und oo.
BESCHREIBUNG
Cpipe kopiert seine Standardeingabe auf seine Standardausgabe und misst dabei die benötigte Zeit
um einen Eingabepuffer zu lesen und einen Ausgabepuffer zu schreiben. Wenn einer oder mehrere der -vx Optionen ist
Angegeben werden Statistiken über den durchschnittlichen Durchsatz und die Gesamtmenge der kopierten Bytes
zur Standardfehlerausgabe.
Nein Gierig Lesen Sie mehr
Normalerweise tut cpipe sein Bestes, um seinen Puffer vollständig zu füllen (Option -b), bevor es losgeht
Schreiben. In manchen Situationen jedoch, z. B. wenn Sie über cpipe mit einem interaktiven Programm sprechen,
Dadurch wird die Kommunikation blockiert: Das Programm wartet auf Eingaben, die es nie sehen wird.
weil die Eingabe im Puffer von cpipe steckt. Aber cpipe selbst wird keine weiteren Eingaben sehen
bevor das Programm nicht reagiert.
Um dies zu umgehen, versuchen Sie es mit -ngr. Bei einem Leseaufruf ist cpipe dann erfüllt als
sobald es mindestens ein Byte erhält. Anstatt den Puffer zu füllen, hört es auf zu lesen und
schreibt alles, was es bekommen hat, in die Ausgabe. Beachten Sie jedoch, dass die Durchsatzmessungen durchgeführt werden
weniger genau sein, wenn die Anzahl der in einem Lese-/Schreibpaar übertragenen Bytes klein wird,
weil cpipe relativ mehr Zeit damit verbringen wird, an jedem Byte zu arbeiten.
Begrenzung Durchsatz
Wenn mit der Option ein Durchsatzlimit angegeben ist -s, cpipe Anrufe du schläfst(3) dazwischen
Kopieren von Puffern, wodurch die Dauer eines Lese-/Schreibzyklus künstlich verlängert wird. Seit
Auf den meisten Systemen gibt es eine bestimmte Mindestschlafzeit von usleep(), z. B. 0.01 Sekunden
Es ist unmöglich, mit einer kleinen Puffergröße hohe Grenzen zu erreichen. In diesem Fall erhöhen Sie die
Puffergröße (Option -b) könnte helfen. Beachten Sie jedoch, dass dadurch der Durchsatz eingeschränkt wird
nur im Durchschnitt. Jeder einzelne Puffer wird so schnell wie möglich kopiert.
BEISPIEL
Der Befehl
tar cCf / - usr | cpipe -vr -vw -vt > /dev/null
führt zu einer Ausgabe wie
...
in: 19.541 ms bei 6.4 MB/s (durchschnittlich 4.7 MB/s), 2.0 MB
Ausgang: 0.004 ms bei 30.5 GB/s (durchschnittlich 27.1 GB/s), 2.0 MB
bis: 19.865 ms bei 6.3 MB/s (durchschnittlich 4.6 MB/s), 2.0 MB
...
Die zuerst Überblick Zeigt die Zeit an, die für die Verarbeitung eines Datenpuffers benötigt wird (standardmäßig 128 KB).
Der Leseaufruf dauerte 19.541 ms, der Schreibaufruf nach /dev/null dauerte nur 0.004 ms und vom
Vom Beginn des Lesevorgangs bis zum Ende des Schreibvorgangs dauerte es 19.865 ms.
Die zweite Überblick zeigt das Ergebnis der Division der Puffergröße (standardmäßig 128 KB) durch
mal in der ersten Spalte.
Die dritte Überblick enthält den Durchschnitt über alle Messwerte seit Beginn des
Schließlich wird der letzte Überblick zeigt die Gesamtzahl der übertragenen Bytes an, was natürlich der Fall ist
das Gleiche gilt für Lesen und Schreiben.
Verwenden Sie cpipe online über die Dienste von onworks.net