Під час написання Bash-скриптів на Linux є багато випадків, коли вам може знадобитися ввести паузу або затримку у виконанні. Незалежно від того, чи ви пригальмовуєте запити до API, чи чекаєте на завершення процесу, чи імітуєте операції, що залежать від часу, команда sleep – це ваша основна утиліта.
У цій статті ми розглянемо, як ефективно використовувати сплячий режим у Bash, включаючи реальні приклади, одиниці виміру часу та поради щодо розширеного використання.
Команда sleep призупиняє виконання скрипта або команди на певний проміжок часу. Вона доступна за замовчуванням майже у всіх Unix-подібних системах, включаючи Linux і macOS.
ЧИСЛО: тривалість
СУФІКС (необов’язково): одиниця часу(с
, м
, год
, д
)
Якщо суфікс не вказано, вважається, що це секунди.
Якщо ви запускаєте фоновий процес, якому потрібен час для ініціалізації:
При взаємодії з API або виконанні повторюваних завдань, що вимагають дроселювання:
Зловживання сплячим
режимом може призвести до неефективної роботи скриптів, особливо у середовищах, що вимагають високої продуктивності.
Для сценаріїв, керованих подіями, замість довільного сну використовуйте inotifywait
або логічні умови.
В автоматизації або DevOps уникайте тривалого сну без крайньої необхідності – віддавайте перевагу опитуванням з логікою тайм-ауту.
Використовуйте сон з &, щоб запустити його у фоновому режимі:
Якщо потрібно, комбінуйте з очікуванням
:
У завданнях systemd або crontab уникайте сну
без крайньої необхідності. Використовуйте таймери системного рівня, коли це можливо.
Команда sleep є простим, але потужним інструментом у скриптах Bash для керування часом і темпом виконання ваших скриптів. Незалежно від того, чи створюєте ви затримки між завданнями, чи гальмуєте цикли, чи координуєте асинхронні дії, sleep дає вам точний контроль над потоком виконання.
Використовуючи його з розумом і розуміючи його наслідки, ви можете писати більш передбачувані, підтримувані і стабільні скрипти в системах Linux.