Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/05/2008, à 14:14

roger64

(résolu) Comment chronométrer une tâche ?

Bonjour

Il m'est arrivé de me servir de ma console et c'est la raison pour laquelle je m'adresse à cet estimable et compétent forum. J'aimerais bien, lorsque j'effectue une tâche, par exemple un transfert de fichier, savoir combien de temps il faut à mon ordinateur pour l'achever.

Bon, on peut le faire avec un chrono, en guettant le retour du prompt avec la langue entre les dents, mais je ne trouve pas ça très convivial.

Un truc du genre :

sudo cp /media/machin /home/user && chrono

et puis au retour du prompt, ça me dirait :

une heure vingt cinq minutes douze secondes, cher monsieur

Je rêve ? ou ça fait partie des fonctions système depuis la nuit des temps ? tongue

Dernière modification par roger64 (Le 30/05/2008, à 15:42)

Hors ligne

#2 Le 30/05/2008, à 14:19

miraks

Re : (résolu) Comment chronométrer une tâche ?

Essayes:

time sudo cp /media/machin /home/user


Skrooge, a personal finances manager powered by KDE
Donate

Hors ligne

#3 Le 30/05/2008, à 14:30

philou8237

Re : (résolu) Comment chronométrer une tâche ?

quelque chose comme :

sudo cp /media/machin /home/user && chrono

ne pourrait marcher, car en faisant ça, tu créés deux taches indépendante, avec uniquement une opération logique sur le démarrage de la seconde tache. Donc "chrono" ne sais pas que "cp" existe, et ne peux donc pas récupérer des information dessus.
Un truc que tu peux faire, c'est ajouter l'heure courante à ton prompt, donc quand ton prompt reviens, il te donne l'heure, et tu vois le temps que ça a mis en comparant au prompt précédant... ou utiliser time

Dernière modification par philou8237 (Le 30/05/2008, à 14:31)

Hors ligne

#4 Le 30/05/2008, à 14:30

roger64

Re : (résolu) Comment chronométrer une tâche ?

@miraks

euh...après un court instant d'euphorie, je reprend un dur contact avec la réalité,  ça a bien calculé quelque chose mais la copie n'a pas été faite. Alors je ne sais pas ce qui a été calculé.

Dernière modification par roger64 (Le 30/05/2008, à 14:40)

Hors ligne

#5 Le 30/05/2008, à 14:49

roger64

Re : (résolu) Comment chronométrer une tâche ?

philou8237 a écrit :

quelque chose comme :

sudo cp /media/machin /home/user && chrono

sans doute, c'était juste un exemple pour me faire comprendre.

Il faudrait un script ?
avec une commande en blanc quelque part à l'intérieur et une boite de dialogue qui me demande poliment :

insérez ici la commande que vous voulez chronométrer

Comment ajoute t-on l'heure courante au prompt ? ça parait simple, ça

Dernière modification par roger64 (Le 30/05/2008, à 14:52)

Hors ligne

#6 Le 30/05/2008, à 15:08

guyver2

Re : (résolu) Comment chronométrer une tâche ?

g2@pioneer3$ time ls
bibli.bib         gpca              memoire.mtc2      rapport.lof
bibliographie.bib introduction      memoire.mtc3      rapport.log
commandes.tex     makefile          memoire.mtc4      rapport.lot
frbib.sty         memoire.bbl       memoire.mtc5      rapport.pdf
french.ldf        memoire.blg       memoire.pdf       rapport.sty
french.sty        memoire.lof       memoire.tex       rapport.tex
frenchle.ldf      memoire.lot       rapport.aux       rapport.toc
frenchle.sty      memoire.maf       rapport.bbl       soa
frontieres        memoire.mtc       rapport.blg       vo
frplain.bst       memoire.mtc1      rapport.dvi

real	0m0.005s
user	0m0.002s
sys	0m0.004s

de quoi a tu besoin de plus ?
on voit bien combien de temps la commande a mis pour s'executer, a savoir 5 milisecondes

que veux tu dire par :

ça a bien calculé quelque chose mais la copie n'a pas été faite

quelle copie ?


Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++

Hors ligne

#7 Le 30/05/2008, à 15:27

roger64

Re : (résolu) Comment chronométrer une tâche ?

Ben,

sudo cp /home/roger/ /media/machin

est supposé copier le repertoire /home/roger vers /media/machin mais hélas, si je mets time devant cette commande, ça chronomètre à la demi virgule près mais ça ne copie rien...

Un petit inconvénient. neutral

Je voudrais savoir combien de temps il a fallu pour copier, ça implique d'abord que cela ait été copié.

Dernière modification par roger64 (Le 30/05/2008, à 15:29)

Hors ligne

#8 Le 30/05/2008, à 15:35

guyver2

Re : (résolu) Comment chronométrer une tâche ?

ca ne copie rien ?
tu es sur que ta commande est correcte (dossier existants , ...) Il faut l'option -r si tu copie des dossiers

sinon le "sudo" ajoute du temps d'execution puisque 'il faut que tu saisisse ton mot de passe.
sudo garde l'authentification active quelques minutes, essaye un truc du genre

#on fait une premiere commande anodine en sudo pour activer l'authentifacation
sudo ls
time sudo cp -r /dossiers/a/copier /destination/ou/copier

Dernière modification par guyver2 (Le 30/05/2008, à 15:35)


Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++

Hors ligne

#9 Le 30/05/2008, à 15:40

roger64

Re : (résolu) Comment chronométrer une tâche ?

roger@roger-laptop:~$ time sudo cp -r /home/roger/imageslinux/tux /home/roger

real    0m0.011s
user    0m0.008s
sys     0m0.000s
roger@roger-laptop:~$

eh bien, comme ça , ça a fonctionné et j'ai bien un -petit- dossier tux dans /home/roger

Je vais revérifier et marquer résolu.

Merci  à tous et pardon pour mes erreurs:)

Dernière modification par roger64 (Le 30/05/2008, à 16:31)

Hors ligne

#10 Le 30/05/2008, à 15:43

guyver2

Re : (résolu) Comment chronométrer une tâche ?

c'etait donc l'option -r qui manquait ?
et si tu es dans ton /home, tu ne devrais pas avoir a utiliser sudo.

Dernière modification par guyver2 (Le 30/05/2008, à 15:44)


Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++

Hors ligne

#11 Le 30/05/2008, à 16:30

roger64

Re : (résolu) Comment chronométrer une tâche ?

exact. Encore merci à tous.

Hors ligne

#12 Le 30/05/2008, à 17:27

philou8237

Re : (résolu) Comment chronométrer une tâche ?

Sous zsh, pour avoir l'heure dans le prompt :

PROMPT=$'[%n@%{\e[1;33m%}%B%m%b:%(4c,./%2~,%~)] <%T> %(?,:%),:(%() %# %{\e[0m%} '

En plus, tu as droit à un peu de couleur, et un smiley à la fin qui souris qd tout se passe bien et fais la tronche qd la commande renvoie autre chose que 0.
Ça fait ça :

[phil@hermes:~] <18:26> :) dsfsdfdsfsdf
[phil@hermes:~] <18:26> :(

Je te le donne cash, car c'est un peu le bordel les remplacement dans les prompts de zsh. Par contre... c'est un shell trèèès puissant et agréable.

Dernière modification par philou8237 (Le 30/05/2008, à 17:30)

Hors ligne

#13 Le 30/05/2008, à 17:34

roger64

Re : (résolu) Comment chronométrer une tâche ?

@philou

Merci aussi pour ton élégante solution smile

Hors ligne