#1 Le 08/05/2007, à 01:17
- Seo
Connaître vitesse de transfert de fichier
Hey,
j'ai l'habitude d'utiliser cp pour faire du transfert de fichier et ça m'enerve de pas connaître la vitesse de transfert et/ou le temps restant
Comme je fais pas mal de dvp (Java, C, Python), j'ai bien envie de me pencher un peu dessus histoire de pouvoir avoir accés à ces infos. Le problème est que je ne sais pas du tout comment les obtenir par le système.
Si qqun a une idée...
Merci !
Hors ligne
#2 Le 08/05/2007, à 09:44
- pef
Re : Connaître vitesse de transfert de fichier
Copier un fichier, ce n'est rien d'autre que d'ouvrir le fichier source, et copier chaque octet du début jusqu'à la fin du fichier vers le fichier destination, donc il suffit d'utiliser des fonctions systèmes comme read, write et assimilés.
Si tu connait le nombre d'octets à copier, il ne te reste plus qu'à afficher le pourcentage restant à chaque boucle de 'copie'
Le seul problème reste pour les arborescences par exemple, imaginons que tu veuille copier le répertoire contenant les sources du kernel, que va devoir faire le programme ? aller lire récursivement l'arborescence pour connaitre la taille totale à copier, et seulement après commencer à copier.
Je te laisse imaginer la perte de temps juste pour afficher un pourcentage
Tu peux t'inspirer des sources de cp (package coreutils), ou voir comment une autre personne l'a déjà implémenté avec son projet 'extented cp' qui en outre propose de voir la progression de la copie.
http://freshmeat.net/projects/ecp/
Dernière modification par pef (Le 08/05/2007, à 09:45)
Hors ligne
#3 Le 08/05/2007, à 12:42
- Seo
Re : Connaître vitesse de transfert de fichier
Je vais me pencher dessus, je te remercie
Hors ligne