====== sleep ====== * Objet : Commande linux sleep * Niveau requis :{{tag>débutant avisé}} * Commentaires : //Dormir (ou ne rien faire) pendant un laps de temps par la ligne de commande.// * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) - ainsi que : [[:doc:systeme:su | La commande SU]] * Suivi : {{tag>à-tester}} * Création par [[user>smolski]] le 04/10/2010 * Testé par .... le .... * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=3025 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== 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 C-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// : * au fond d'un pré, * dans une maigre cabane appelée //tinette//, * perchés ou accroupis au-dessus d'un trou béant, * sur deux planches en bois... * à réfléchir au monde qui vient ! :-D ===== Exemples d'utilisations ===== La commande **sleep** peut remplacer un cron (voir [[:doc:systeme: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