Lorsque vous écrivez des scripts Bash sous Linux, vous avez souvent besoin d’introduire une pause ou un délai dans l’exécution. Qu’il s’agisse de limiter les demandes d’API, d’attendre la fin d’un processus ou de simuler des opérations temporelles, la commande sleep est l’utilitaire qu’il vous faut.
Dans cet article, nous allons explorer comment utiliser efficacement la commande sleep dans Bash, en incluant des exemples concrets, des unités de temps et des conseils pour une utilisation avancée.
Qu’est-ce que la commande sleep ?
La commande sleep met en pause l’exécution d’un script ou d’une commande pendant une durée déterminée. Elle est disponible par défaut sur presque tous les systèmes de type Unix, y compris Linux et macOS.
Syntaxe de base :
NUMÉRO: la durée
SUFFIX (facultatif) : unité de temps
(s,m,h,d)
Si aucun suffixe n’est spécifié, les secondes sont prises en compte.
Cas d’utilisation pratique dans les scripts Bash
1. Pause entre les commandes
2. Retarder l’exécution dans les boucles
3. Attendre le démarrage des services
Si vous lancez un processus en arrière-plan qui prend du temps à s’initialiser :
4. Limitation du débit dans les scripts
Lorsque vous interagissez avec des API ou que vous effectuez des tâches répétitives qui nécessitent une limitation de débit :
Attention : Utiliser Sleep de manière responsable
L’utilisation excessive de la
mise en veillepeut conduire à des scripts inefficaces, en particulier dans les environnements exigeant des performances élevées.Pour les scripts pilotés par des événements, envisagez
inotifywaitou des conditionnels logiques plutôt que des mises en veille arbitraires.Dans le cadre de l’automatisation ou du DevOps, évitez les longues durées de mise en veille, sauf si cela est strictement nécessaire – préférez l’interrogation avec une logique de temporisation.
Conseils de pro
Utilisez sleep avec & pour l’exécuter en arrière-plan :
Combinez avec
waitsi nécessaire :Dans les tâches systemd ou crontab, évitez
sleepà moins que cela ne soit absolument nécessaire. Utilisez des temporisateurs au niveau du système lorsque c’est possible.
Conclusion
La commande sleep est un outil simple mais puissant dans les scripts Bash pour contrôler le timing et le rythme de vos scripts. Que vous créiez des délais entre les tâches, que vous limitiez les boucles ou que vous coordonniez des actions asynchrones, la commande sleep vous permet de contrôler précisément le flux d’exécution.
En l’utilisant à bon escient et en comprenant ses implications, vous pouvez écrire des scripts plus prévisibles, plus faciles à maintenir et plus stables sur les systèmes Linux.


