Il s'agit de la commande cpipe qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
cpipe - copie stdin vers stdout tout en comptant les octets et en signalant la progression
SYNOPSIS
cpipe [-b taille_b] [-vt] [-vr] [-vw] [-ngr] [-s vitesse]
OPTIONS
-b taille du buffer en ko,
1 Valeur Int comprise entre 1 et oo.
Par défaut : "128"
-vt affiche le débit.
-vr affiche les temps de lecture.
-vw affiche les temps d'écriture.
-ngr lecture non gourmande. N'appliquez pas un tampon plein en lecture avant de commencer à écrire.
-s limite de vitesse de débit en kB/s,
1 Double valeur entre 1 et oo.
DESCRIPTION
Cpipe copie son entrée standard sur sa sortie standard tout en mesurant le temps qu'il faut
pour lire un tampon d'entrée et écrire un tampon de sortie. Si un ou plusieurs des -vx les options est
données, les statistiques du débit moyen et le nombre total d'octets copiés sont imprimés
à la sortie d'erreur standard.
Non Gourmand Lire
Normalement, cpipe fait de son mieux pour remplir totalement son buffer (option -b) avant qu'il ne commence
l'écriture. Dans certaines situations cependant, par exemple si vous parlez à un programme interactif via cpipe,
cela bloque la communication : ledit programme attend une entrée qu'il ne verra jamais,
car l'entrée est bloquée dans le tampon de cpipe. Mais cpipe lui-même ne verra pas plus d'entrées
avant que le programme ne réponde.
Pour contourner ce problème, essayez d'utiliser -ngr. Lors de l'émission d'un appel de lecture, cpipe est alors satisfait comme
dès qu'il obtient au moins un octet. Au lieu de remplir le tampon, il arrête de lire et
écrit tout ce qu'il a à la sortie. Notez, cependant, que les mesures de débit seront
être moins exact si le nombre d'octets transférés dans une paire lecture/écriture devient petit,
car cpipe passera relativement plus de temps à travailler sur chaque octet.
Limitation Cadence de production
Si une limite de débit est spécifiée avec l'option -s, cpipe en cours tu dors(3) entre
copier des tampons, prolongeant ainsi artificiellement la durée d'un cycle de lecture/écriture. Depuis
sur la plupart des systèmes, il y a un certain temps minimum pour que usleep() dort, par exemple 0.01s, c'est
impossible d'atteindre des limites élevées avec une petite taille de buffer. Dans ce cas, augmenter la
taille du tampon (option -b) pourrait aider. Cependant, gardez à l'esprit que cela limite le débit
seulement en moyenne. Chaque tampon est copié aussi vite que possible.
EXEMPLE
La commande
tar cCf / - usr | cpipe -vr -vw -vt > /dev/null
donne une sortie comme
en : 19.541 ms à 6.4 Mo/s ( 4.7 Mo/s en moyenne) 2.0 Mo
sortie : 0.004 ms à 30.5 Go/s (27.1 Go/s en moyenne) 2.0 Mo
via : 19.865 ms à 6.3 Mo/s ( 4.6 Mo/s en moyenne) 2.0 Mo
Le premier colonne montre le temps qu'il faut pour gérer un tampon de données (128 Ko par défaut).
L'appel de lecture a pris 19.541 ms, l'appel d'écriture à /dev/null n'a pris que 0.004 ms et à partir du
du début de la lecture à la fin de l'écriture, cela a pris 19.865 ms.
Le seconde colonne montre le résultat de la division de la taille du tampon (128 Ko par défaut) par le
fois dans la première colonne.
Le troisième colonne contient la moyenne de toutes les valeurs mesurées depuis le début de la
.
Enfin, la dernier colonne montre le nombre total d'octets transférés, qui est bien sûr
de même pour la lecture et l'écriture.
Utiliser cpipe en ligne à l'aide des services onworks.net