Bonjour,
J'aimerais savoir si dans un scrip shell, et dans un while il y a un moyen que le test d'arret s'effectue par un timer (une duree)
Par exemple comment faire une boucle while qui s'execute pendt 5 heures.
Merci pour vos reponse
Bonjour,
J'aimerais savoir si dans un scrip shell, et dans un while il y a un moyen que le test d'arret s'effectue par un timer (une duree)
Par exemple comment faire une boucle while qui s'execute pendt 5 heures.
Merci pour vos reponse
Bonjour,
La solution la plus simple, algorithmiquement parlant, est la suivante :
A toi de le coder dans le langage que tu souhaites maintenant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 begin_time = get_time() keep_going = true duree = 5 * 60 * 60 #duree du while en seconde while (keep_going) { ## faire ce que tu veux faire ## Ne pas oublier de s'endormir pour ne pas consommer 100% de CPU end_time = get_time() if ((end_time - begin_time) >= duree keep_going = false }
En script shell, il est possible de sortir d'un "while" grace à un "break".
Il est donc possible de construire une date butée avec un formattage particulier, et à chaque itération, tester si cette date est dépassée et tout stopper dans l'affirmative.
Une bonne solution, pour formatter des dates comparables, c'est avec :et avec une option pour préciser un écart :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $(date +%Y%m%d%H%M%S)Tout cela fonctionne sans problème (j'ai testé ), mais il ne faut surtout pas oublier d'endormir le script, comme l'a fait remarquer gangsoleil, sinon la machine est à genoux
Code : Sélectionner tout - Visualiser dans une fenêtre à part $(date -d "+10 min" +%Y%m%d%H%M%S)
La FAQ Perl est par ici
: La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !
il faut vraiment que je lise un jour man date sous Linux, ce -d a l'air très chouetteEnvoyé par 2Eurocents
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager