Executer un programe avec detection de boucle

Résolu
tapharule Messages postés 133 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je me demande s il existe une option ou une astuce pour detecter les boucles infini du genre
si je lance

./monProgramme

un moyen que le programme se termine sans que j ai a faire un ctrl C sur le bash

ou un truc du genre qui lance mon programme et si ce programme met plus de 5 seconde il ferme se dernier

merci

13 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Une solution...
    $ cat prog.sh     # Programme avec boucle infinie
    #!/bin/bash
    
    while :
    do
    echo -n ". "
    sleep 1
    done
    
    
    $ ./prog.sh     # Lancemant du programme
    . . . . . . . . . . ^C     # Arrêt par CTRL+C
    
    $ cat foo.sh     # Programme qui tue le précédent après 5 seconde
    #!/bin/bash
    
    ./prog.sh &
    sleep 5
    kill $!
    echo "Programe prog.sh arrêté."
    
    $ ./foo.sh 
    . . . . . Programe prog.sh arrêté.
    
    $

    ;-))
    3
  2. termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
     
    Bonjour,

    Essaye le système du Timer
    0
  3. tapharule Messages postés 133 Statut Membre 8
     
    merci de repondre aussi vite comment puis - je l utiliser
    0
  4. termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
     
    @echo off

    set temps=5
    set /a secondefin=%time:~6,2%+%temps%

    :inf1minute
    if %secondefin% EQU %time:~6,2% (goto fin) else goto inf1minute

    :fin
    exit

    Tu remplace 5 par le nombre de seconde que tu veux attendre
    Je l'ai vite fait modifier il reste à l'adapter
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tapharule Messages postés 133 Statut Membre 8
     
    donc si je comprend bien je met tout se code dans un programe shell puis j execute mon programme avant le exit ???
    0
  7. tapharule Messages postés 133 Statut Membre 8
     
    j ai copier ton code dans un fichier.sh

    quand je fais bash fichier.sh

    j ai les erreurs suivantes

    emacs test.sh
    dwyane-mac:test dwyane$ bash test.sh
    test.sh: line 1: @echo: command not found
    test.sh: line 5: syntax error near unexpected token '('
    test.sh: line 5: 'if %secondefin% GEQ 60 (goto def) else goto inf1minute '
    0
  8. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Normal, la syntaxe est pour du MS-DOS ;-((
    0
  9. tapharule Messages postés 133 Statut Membre 8
     
    mdr je me disais bien que je ne connaissai pas ce language , Je ne suis pas sur ms Dos je penssai avoir poster dans la section Linux / Unix .
    et tu nas pas un code sur bash qui pourai passer
    genre la traduction de sa
    0
  10. termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
     
    Oulah escuse moi j'ai mal lus >< (Dur le matin )
    Efectivement j'ai ripper sur Bash et pas Batch ...
    0
  11. tapharule Messages postés 133 Statut Membre 8
     
    Bien joue zipe31 sa regle mon probleme
    par contre il aurai ete bien de teste si le processus de prog ./prog.sh existe avant de le kill car si le programme na pas fai de boucle infini le chell va raler comme koi il na pas trouver se processus
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      #!/bin/bash
      
      ./prog.sh &
      sleep 2
      kill $! 2>/dev/null
      echo "Programe prog.sh arrêté."

      ;-))
      0
  12. tapharule Messages postés 133 Statut Membre 8
     
    mdr mais merci pour ton aide . je croi que finalement je vais me fair un petit code en c++ multi processus qui va detecter les temps des processus et si l un d entre eux dur je le kill
    0
  13. tapharule Messages postés 133 Statut Membre 8
     
    sinon la solution de zip31 voir plus bas fonctionne et va me depaner entre temps
    0
  14. termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
     
    Oui merci à zipe31 d'être intervenu
    Et Linux et moi s'est pas top à part en Python
    0