IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

fixer le temps limite d'exécution du .bat


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Par défaut fixer le temps limite d'exécution du .bat
    Bonjour,

    Quelqu'un connaitrait-il une méthode pour fixer un temps limite d'exécution d'un fichier .bat ?
    Et si la deadline est atteinte, mettre une trace dans un fichier (au cas où la méthode ferait directement un 'exit')

    Merci

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Tu n'as aucune méthode simple pour ça. Le principe, c'est de lancer ton batch via un CMD /C, récupérer le PID du processus engendré via tasklist, vérifier au bout du délai demandé s'il est encore actif ou pas, et s'il l'est, flinguer le processus via taskkill.

    Sachant qu'en plus, c'est quand même très très crasseux d'arrêter un batch de cette manière : il serait préférable de modifier le batch de façon à ce qu'il sache s'arrêter de lui-même au besoin...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Par défaut
    Oui, je sais bie nque c'est crade comme méthode.
    Mais je vois pas d'autres moyen

    Y aurait-il un exemple pour effectuer cela ? j'ai vu ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @echo off
    set app=mTest.bat
    set limit=10
    if not "%1"=="" goto Delay
    
    echo %Date% - %time% :  Début > Launcher.log
    start %0 %app%
    
    echo %Date% - %time% :  Fin >> Launcher.log
    goto :eof
    ========================
    :Delay
    ping localhost -n %limit% > nul
    taskkill /im /f %app%
    echo %Date% - %time% :  Délai dépassé >> Launcher.log
    exit
    Mais problème : il semble ne pas tenir compte de la consigne de délai.


  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut
    Citation Envoyé par shaftJackson Voir le message

    Mais problème : il semble ne pas tenir compte de la consigne de délai.

    Tu veux dire que le script ne passe pas par "Delay" ?

    Si ton 2ème paramètre lorsque tu lances le script est vide le script ne passera jamais par Delay...

  5. #5
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Par défaut
    Citation Envoyé par sokai Voir le message
    Tu veux dire que le script ne passe pas par "Delay" ?

    Si ton 2ème paramètre lorsque tu lances le script est vide le script ne passera jamais pas Delay...
    Ok...
    En fait, ayant copié-collé ce bout de code sur internet, y a pas mal de chose que je ne comprend pas, comme :
    etc ...

    La doc étant très pauvre en batch, je n'arrive pas à trouver comment on teste la durée d'exécution d'un processus.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut
    %0 et %1 sont les paramètres de ton script.

    Si ton script s'appelle "Demo.bat" et que tu fais Démarrer > Exécuter > Demo.bat toto titi.

    Alors %0 sera égal à toto et %1 à titi.

Discussions similaires

  1. limitation de temps pour l'exécution d'un script php
    Par franco9 dans le forum Langage
    Réponses: 2
    Dernier message: 05/03/2013, 14h09
  2. fixer un temps limite d'exécution
    Par sophielow dans le forum MATLAB
    Réponses: 2
    Dernier message: 24/02/2013, 17h16
  3. [Thread] temps maximal d'exécution
    Par guipom dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 14/04/2006, 12h00
  4. Réponses: 1
    Dernier message: 06/03/2006, 10h58
  5. [BAT] commande AT pour exécuter fichier .bat
    Par PatLogan dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 04/01/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo