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 -
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
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
-
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é. $
;-))
-
Bonjour,
Essaye le système du Timer -
merci de repondre aussi vite comment puis - je l utiliser
-
@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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
donc si je comprend bien je met tout se code dans un programe shell puis j execute mon programme avant le exit ???
-
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 ' -
Salut,
Normal, la syntaxe est pour du MS-DOS ;-(( -
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 -
Oulah escuse moi j'ai mal lus >< (Dur le matin )
Efectivement j'ai ripper sur Bash et pas Batch ... -
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 -
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
-
sinon la solution de zip31 voir plus bas fonctionne et va me depaner entre temps
-
Oui merci à zipe31 d'être intervenu
Et Linux et moi s'est pas top à part en Python