Polecenie sleep to jedno z najprostszych, a zarazem najczęściej używanych narzędzi w skryptach Linux, pozwalające na wprowadzenie kontrolowanej pauzy między poleceniami. Dzięki temu skrypty mogą oczekiwać na określone zdarzenia, ograniczać zasobożerność lub wykonywać cykliczne zadania z wyznaczonym interwałem.
Co robi polecenie sleep?
Polecenie sleep zawiesza wykonanie skryptu lub procesu na podany czas. Czas można określać w różnych jednostkach:
- s – sekundy (domyślnie)
- m – minuty
- h – godziny
- d – dni
Składnia polecenia prezentuje się następująco:
sleep [CZAS][JEDNOSTKA]
Na przykład, aby zatrzymać skrypt na 10 sekund:
sleep 10
Aby wstrzymać go na 2 minuty:
sleep 2m
Można też kombinować jednostki, podając kilka argumentów naraz:
sleep 1h 30m 20s
— w efekcie skrypt zatrzyma się na sumę wszystkich podanych wartości.
Jak używać sleep w praktyce? Instrukcje krok po kroku
-
Podstawowe użycie w skrypcie
Umieść sleep tam, gdzie potrzebujesz przerwy pomiędzy akcjami:
#!/bin/bash echo "Rozpoczynamy proces..." sleep 5 echo "Drugi krok po 5 sekundach."
-
Wprowadzenie opóźnienia między kolejnymi poleceniami
Gdy wykonujesz serię poleceń i chcesz zachować odstęp czasu między nimi:
echo "Krok 1" sleep 3 echo "Krok 2 po 3 sekundach"
-
Automatyczne uruchomienie aplikacji po określonym czasie
Przykład uruchomienia programu Thunar po minucie:
sleep 60 && thunar
W ten sposób najpierw odczekasz wymaganą ilość sekund, a następnie polecenie uruchomi program.
- Wykorzystanie różnych jednostek czasu
sleep 10s # 10 sekund sleep 2m # 2 minuty sleep 1h # 1 godzina sleep 1d # 1 dzień sleep 1m 30s # 1 minuta i 30 sekund
- Użycie w pętli powtarzającej czynności z interwałem
#!/bin/bash for i in {1..5} do echo "Iteracja nr $i" sleep 2 done
Każda iteracja pętli będzie wykonywana co 2 sekundy.
Opcje polecenia sleep
Polecenie sleep jest minimalistyczne — obsługuje jedynie:
--help
– wyświetla pomoc--version
– pokazuje wersję programu
Najważniejsze informacje — podsumowanie użycia
- Polecenie sleep pozwala kontrolować tempo działania skryptów, wprowadzać oczekiwania i synchronizować procesy.
- Czas podawany jako liczba (+ jednostka), argumenty mogą być łączone, a wartości nie muszą być całkowite (np.
sleep 0.5s
). - Pozwala budować zaawansowane logiki czekania w skryptach bash — monitorowanie plików, kontrola replikacji, automatyczne backupy czy cykliczne zadania.
Przykłady zastosowań sleep w praktyce –
- Czekanie na zakończenie transferu plików przed kolejnym zadaniem.
- Ustalanie opóźnienia startu usług po restarcie systemu.
- Periodiczne wysyłanie powiadomień co określony czas.
- Unikanie przeciążenia serwerów przy skryptach wysyłających żądania do API.
Dzięki prostocie polecenia sleep można w łatwy sposób zoptymalizować swoje skrypty bash i zapewnić im większą kontrolę przebiegu wykonywania.