Aceasta este comanda cpipe care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
cpipe - copiați stdin în stdout în timp ce numărați octeții și raportați progresul
REZUMAT
cpipe [-b bsize] [-vt] [-vr] [-vw] [-ngr] [-s viteza]
OPŢIUNI
-b dimensiunea tamponului în kB,
1 Valoare int între 1 și oo.
Implicit: „128”
-vt arată debitul.
-VR arată timpii de citire.
-vw arată timpii de scriere.
-ngr citire non-lacomă. Nu aplicați un buffer complet la citire înainte de a începe să scrieți.
-s limita de viteză de trecere în kB/s,
1 Valoare dublă între 1 și oo.
DESCRIERE
Cpipe copiază intrarea sa standard la ieșirea sa standard în timp ce măsoară timpul necesar
pentru a citi un buffer de intrare și a scrie un buffer de ieșire. Dacă unul sau mai multe dintre -vx opțiuni este
date, sunt tipărite statisticile debitului mediu și cantitatea totală de octeți copiați
la ieşirea de eroare standard.
Nu Lacom Citeste
În mod normal, cpipe face tot posibilul să-și umple complet tamponul (opțiune -b) înainte de a începe
scris. Cu toate acestea, în unele situații, de exemplu, dacă vorbiți cu un program interactiv prin cpipe,
acest lucru blochează comunicarea: programul respectiv așteaptă o intrare pe care nu o va vedea niciodată,
deoarece intrarea este blocată în tamponul cpipe. Dar cpipe în sine nu va vedea mai multe intrări
înainte ca programul să nu răspundă.
Pentru a ocoli acest lucru, încercați să utilizați -ngr. Când se emite un apel de citire, cpipe este apoi satisfăcut ca
imediat ce primește cel puțin un octet. În loc să umple tamponul, nu mai citește și
scrie orice a primit la ieșire. Rețineți, totuși, că măsurătorile debitului vor
fi mai puțin exact dacă numărul de octeți transferați într-o pereche de citire/scriere devine mic,
deoarece cpipe va petrece relativ mai mult timp lucrând pe fiecare octet.
limitativ tranzitată
Dacă o limită de debit este specificată cu opțiunea -s, cpipe Apeluri tu dormi(3) între ele
copierea tampoanelor, extinzând astfel în mod artificial durata unui ciclu de citire/scriere. De cand
pe majoritatea sistemelor, există un anumit timp minim de inactivitate usleep(), de exemplu 0.01 s, este
imposibil de atins limite înalte cu o dimensiune mică a tamponului. În acest caz, creșterea
dimensiunea tamponului (opțiune -b) poate ajuta. Cu toate acestea, rețineți că acest lucru limitează debitul
doar in medie. Fiecare buffer este copiat cât mai repede posibil.
EXEMPLU
Comanda
tar cCf / - usr | cpipe -vr -vw -vt > /dev/null
rezultă într-o ieșire ca
...
în: 19.541 ms la 6.4 MB/s ( 4.7 MB/s în medie) 2.0 MB
ieșire: 0.004 ms la 30.5 GB/s ( 27.1 GB/s în medie) 2.0 MB
până la: 19.865 ms la 6.3 MB/s ( 4.6 MB/s în medie) 2.0 MB
...
primul coloană arată timpul necesar pentru a gestiona un buffer de date (128 kB în mod implicit).
Apelul de citire a durat 19.541 ms, apelul de scriere la /dev/null a durat doar 0.004 ms și de la
de la începutul citirii până la sfârșitul scrierii, a durat 19.865 ms.
al doilea coloană arată rezultatul împărțirii dimensiunii tamponului (128 kB în mod implicit) la
ori în prima coloană.
al treilea coloană conține media tuturor valorilor măsurate de la începutul
programul.
În sfârșit, ultimul coloană arată numărul total de octeți transferați, ceea ce este desigur
la fel pentru citit și scris.
Utilizați cpipe online folosind serviciile onworks.net