[Command Prompt] Chronométrer un processus

coeus Messages postés 3296 Statut Membre -  
 Lupin -
Bonjour,

Existe-t-il un moyen de chronométrer un processus lancé dans le command prompt de Windows XP ?

J'utilise FFmpeg pour encoder des vidéos, et je le fais sans interface graphique, donc directement dans le command prompt. Mais dans mes tests, je veux trouver la manière la plus rapide d'encoder, et pour ça je dois savoir combien de temps dure un encodage donné...

Comme solution j'avais pensé utiliser echo %time%, que je lançais une fois avant que le processus ne s'enclenche, puis une fois après, et je n'aurais eu qu'à faire la différence entre les deux... Mais ça me donne l'heure de début du processus les deux fois. Alors je suis confondu ! :(

Merci à l'avance !!!

7 réponses

  1. Lupin
     
    Bonjour,

    Si tu connais la syntaxe de VBS, je puis te fournir un script
    capable de lire les process de XP, en ajoutant une boucle
    tu pourras traquer le temps d'exécution.

    Si ça t'interesse, laisse une note à cet effet et je déposerai
    le script sur mon site web perso pour te donner accès.

    N.B. De plus j'ai une version modifié en VB.NET 2008, qui permet
    aussi de quantifier les ressources système nécessaire à l'exécution
    de n'importe quel process.

    Lupin
    0
  2. coeus Messages postés 3296 Statut Membre 120
     
    Mmmmmm ça m'intéresserait beaucoup ce script, malheureusement je n'ai pas VB.Net d'installé, ni quoi que ce soit de comparable, et c'est impossible de l'installer sur ma machine présentement... Donc à moins que ton script soit déjà compilé en .exe, je ne sais pas si je serais en mesure de l'utiliser... :S

    Mais s'il y a un moyen, je suis preneur, ce serait vraiment super !
    0
  3. Lupin
     
    Bonjour,

    Pour l'instant je te propose le script VBS.

    Tu pourras l'éditer avec le Bloc-Notes pour changer le nom
    de l'exécutable à surveiller.

    Procédure :

    1.) Trouver le nom de votre exécutable qui apparait dans
    la liste des process de XP.
    2.) Télécharger le fichier zip ici :
    http://membre.oricom.ca/lupin/prog/lireprocess.zip
    3.) Dézipper le fichier.
    4.) Renommer le fichier .txt par .vbs
    5.) Éditer le fichier et remplacer le nom de l'application
    [ EXCEL.EXE ] par le nom de votre application.
    ( Ligne 57 et 71 ).
    6.) Lancer le script.
    7.) Lancer votre application
    8.) Lorsque celle-ci sera terminer, un fichier txt sera
    produit avec le temps de début et le temps de fin
    d'exécution.

    Lupin
    0
  4. coeus Messages postés 3296 Statut Membre 120
     
    Merci beaucoup, je l'ai essayé, malheureusement ça ne semble pas fonctionner, mais j'ai quelques pistes de solution :

    - Est-ce que le fichier texte qui contient les temps est créé dans le même directory que le fichier VBS ? Si non, j'ai peut-être simplement regardé au mauvais endroit...

    - "Lancer le script" signifie tout simplement l'ouvrir "par défaut" (genre en double-cliquant dessus), ou l'ouvrir dans le command prompt, ou carrément autre chose ?

    - Est-ce que le script peut fonctionner si le programme que je chronomètre n'est pas dans ma liste de "Programmes installés" sous Windows ? À défaut, j'ai essayé deux moyens : au lieu du "EXCEL.EXE", simplement mettre le nom du programme ("FFMPEG.EXE"), ou mettre le chemin complet vers l'application ("C:\FFMPEG\FFMPEG.EXE").

    Ce sont les pistes que je verrais. J'espère que nous trouverons un moyen de le faire fonctionner !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Lupin
     
    Bonsoir coeus,

    Oui, le fichier texte contenant les temps est dans le même répertoire
    que le fichier vbs et tu dois avoir les droits d'écriture dans ce répertoire.

    Effectivement, lancer le script signifie un simple double clic dessus.

    Oui il suffit de mettre le nom de l'application : [ FFMPEG.EXE ] et non avec le chemin d'accès.

    Première étape, sans modification, le script fonctionne-t-il avec Excel?

    1.) Tu double-clic sur le fichier VBS
    2.) Tu lance Excel, tu fais quelques manipulations et ensuite tu ferme Excel.

    Si tout va bien avec Excel, lance ton programme et va voir dans le gestionnaire des taches,
    le nom de ton programme doit apparaître dans l'onglet [ Processus ], s'il n'apparait pas
    il faudra modifier le script de façon à passer de WScript à CScript (mode console).

    Intuitivement, à combien de temps évalues tu le temps d'exécution, si celui-ci dure moins d'une seconde, il pourrait ne pas être détecté.

    Autre manipulation :

    Si tu as la suite Office d'installer sur ton poste, tu peux entrer en mode pas à pas dans le script.

    Procédure :

    1.) Clic droit sur le script.
    2.) Choisir "Créer un raccourci"
    3.) Clic droit sur la raccourci
    4.) Choisir Propriété
    5.) Dans l'emplacement [ Cible ], tu rajoute [ Espace ] //x
    6.) Bouton [ Appliquer] et bouton [ OK ]
    7.) Double clic sur le raccourci
    8.) Bouton [ Yes ]
    9.) Fenetre suivante, bouton [OK]

    À ce moment, tu es en mode d'exécution pas à pas du script,
    tu pourras donc suivre les instructions une par une.

    Il se peut que la barre d'outils ne soit pas visible correctement,
    il suffit de la déplacer pour bien voir les icones disponible pour
    le déboggage. Un clic droit sur une variable te permets d'ajouter
    un espion et de voir le déroulemant.

    Je place des images dans un fichier zip sur mon site perso ici :
    http://membre.oricom.ca/lupin/prog/images.zip

    Une image vaut mille mots.

    Lupin.
    0
  7. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    une réponse en PHP :
    https://openclassrooms.com/fr/courses

    Tout serait tellement plus simple sous Linux...
    Sinon, en C, il y a plein de réponse (si tu as le compilo, c'est le bon choix).
    As tu essayé la commande "time" à la place de "echo %TIME%" ? c'est quoi l'ordre de grandeur du temps mis par ta compression ?
    La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
    Char Snipeur
    0
    1. Lupin
       
      Bonjour Char Snipeur,

      Tout à fait d'accord avec toi pour Linux, mais moi je ne maitrise pas Linux,
      mon travail m'a plutôt fait découvrir le monde de Microsoft.

      Mais quand je regarde mon garçon qui travaille sous Linux, et virtualise
      avec VirtualBox plusieurs OSs ( WXP, W7, ... ), il télécharge son OS
      à partir du NET sous forme d'images.

      Il a certes reçu de bons conseils pour en arriver là mais je n'ai pu suivre
      son évolution par manque de temps.

      Dans l'immédiat, j'ai proposé ce que je connaissais. Ma version .Net
      de détection de Process n'est pas codé selon les besoins de coeus
      et le manque de temps ne me permets pas d'y accorder tout le temps
      nécessaire.

      J'espère ne pas avoir offusqué qui que ce soit dans ce fil de discussion,
      ce n'est certes pas le but.

      Lupin
      0
    2. coeus Messages postés 3296 Statut Membre 120
       
      Bonjour,

      Oui j'avais essayé le time, mais malheureusement ça ne se rend pas plus précis que les minutes, et j'ai besoin des secondes... D'habitude un processus peut durer de 5 à 10 minutes lors de mes essais, mais je fais mes tests sur des vidéos de deux minutes... Éventuellement ça devra se faire sur des vidéos de plusieurs dizaines de minutes, donc ça sera beaucoup plus long... Mais quand vient le temps de produire mes rapports, les secondes ne sont pas à négliger :S
      Donc à moins qu'il y ait un moyen de mettre la précision à la seconde dans la fonction time... C'est dommage parce que sinon ça fonctionne vraiment bien !
      0
  8. coeus Messages postés 3296 Statut Membre 120
     
    @Lupin :

    Super ! J'ai trouvé comment faire fonctionner le script... C'est qu'à l'origine j'avais téléchargé le fichier sur le bureau, et apparemment je n'ai pas les droits d'écriture à cet emplacement précis. Va savoir. Mais je l'ai mis dans un autre dossier, j'ai testé avec Photoshop et ça marche très bien ! :)

    Je vais continuer à prendre les réponses, si jamais quelqu'un peut me donner un truc pour mettre la fonction time (comme CharSnipeur le propose) précise à la seconde près, mais sinon, c'est une belle alternative et je t'en remercie infiniment !
    0
    1. Lupin
       
      Bonjour coeus,

      C'est toujours un plaisirs quand je peux aider, comme spécifié, je suis conscient
      que mon script n'est pas parfait mais c'est une alternative.

      Mieux vaut un que deux tu l'auras!

      Lupin
      0