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

Linux Discussion :

limiter le temps d'exécution d'une commande


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 263
    Par défaut limiter le temps d'exécution d'une commande
    Bonjour,

    Je suis en train de réaliser des tests de différentes applications. Pour faire ça, j'utilise un script shell qui ressemble à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    j=0
    while [ $j -lt $cloop ]
    do
      time CMD  $j
      j=$(($j+1))
    done
    Jusque là tout va bien. Le soucis, c'est que CMD peut durer très longtemps. Donc, je souhaite tuer le processus CMD si son temps d'exécution dépasse 5 minutes. Pour faire ça, j'avais penser utiliser la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "kill "`/usr/bin/kill -p CMD` | at now + 5 minutes
    Le soucis, c'est que si fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    time CMD  $j & echo "kill "`/usr/bin/kill -p CMD` | at now + 5 minutes
    Alors toutes les exécutions de CMD sont lancées en même temps.

    Est-ce que quelqu'un sait comment je peux faire?

  2. #2
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut
    Bjr,
    Un truc du genre : (une façon de faire, il existe d'autres solutions, bien sur !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function Cmd()
    {
    CMD $j && pkill sleep
    }
    j=0
    while [ $j -lt $cloop ]
    do
      time Cmd &
     PID=$!
     sleep 5m && kill $PID
      j=$(($j+1))
    done
    Attention, sleep sera tué à la fin de l'execution CMD si elle ne dépasse pas 5 mn, si un autre script utile sleep, il ne fera pas de distinctions, il tuera tout le monde

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Limiter le temps d'exécution d'une requête MySQL
    Par Ceubex dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/12/2014, 21h22
  2. Limiter le temps d'exécution d'une DLL
    Par RTN14 dans le forum Débuter
    Réponses: 7
    Dernier message: 12/10/2009, 15h58
  3. Limiter le temps d'exécution d'une méthode
    Par nono_31 dans le forum Général Java
    Réponses: 9
    Dernier message: 16/08/2007, 15h46
  4. Réponses: 9
    Dernier message: 20/06/2005, 12h17
  5. Affichage du temps d'exécution d'une requête
    Par milka dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 17h48

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