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.
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.
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.
Si vous lancez un processus en arrière-plan qui prend du temps à s’initialiser :
Lorsque vous interagissez avec des API ou que vous effectuez des tâches répétitives qui nécessitent une limitation de débit :
L’utilisation excessive de la mise en veille
peut conduire à des scripts inefficaces, en particulier dans les environnements exigeant des performances élevées.
Pour les scripts pilotés par des événements, envisagez inotifywait
ou 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.
Utilisez sleep avec & pour l’exécuter en arrière-plan :
Combinez avec wait
si 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.
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.