Table des matières

sleep

Intro

La commande sleep permet de suspendre l'exécution d'un processus pendant une durée donnée.

Cette commande sert à ceux qui écrivent ou modifient des scripts.
À part cette utilisation, sleep n'a que peu d'intérêt.

Synopsis

     sleep DURÉE[UNITÉ_DE_TEMPS]...
     sleep OPTION

La durée de sleep peut être indiquée :

 rien : par défaut, ce seront des secondes
 en nombre de secondes : s
 en nombre de minutes : m
 en nombre d'heures : h
 en nombre de jours : d

voir le :

man sleep

Utilisation

Par exemple, et très simplement, nous allons écrire ceci dans un terminal :

while true; do echo Prout; done

Validez pour lancer la commande et Ctrl+C pour l'arrêter.

Maintenant, tapez ceci :

while true; do echo Prout; sleep 2; done

Ce moment gracieux vous a été offert par le captnfab en personne, dont je tiens à souligner toute la finesse, voire la délicatesse de l'éducation.
En fait, les rudes zécoles cévenoles d'où il vient forment ainsi la pensée de leurs zenfants :

:-D

Exemples d'utilisations

La commande sleep peut remplacer un cron (voir crontab ) qui lancerait un script toutes les 2 minutes, par exemple :

while true; do ./monscript; sleep 2m; done

Avec un argument :

while true; do ./monscript argument; sleep 2m; done

Avec une interruption prévue mettons deux heures après le lancement du script :

for i in $(seq 60); do ./monscript arguments; sleep 2m; done

2 minutes x 60 ça fait bien 2 heures… Il tournera donc 2 heures (plus le temps d'exécution du script).

Tout ceci est du même captnfab à qui il sera beaucoup pardonné ! :-D

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !