Lệnh sleep trong Linux được sử dụng để tạm dừng thực thi của một chương trình trong một khoảng thời gian nhất định. Khi thực thi lệnh sleep, chương trình sẽ không hoạt động trong khoảng thời gian đã cho, sau đó sẽ tiếp tục hoạt động như bình thường.
Cú pháp của lệnh sleep như sau:
sleep [OPTIONS] time
Trong đó, time
là thời gian (theo đơn vị giây hoặc theo định dạng hh:mm:ss) mà chương trình sẽ tạm dừng. Các tùy chọn (OPTIONS) bao gồm:
-s
: Cho phép chỉ định thời gian theo đơn vị giây.-m
: Cho phép chỉ định thời gian theo đơn vị mili giây.
Ví dụ, để tạm dừng chương trình trong 5 giây, ta sử dụng lệnh:
sleep 5
Hoặc
sleep -s 5
Nếu muốn tạm dừng chương trình trong 500 mili giây, ta sử dụng lệnh:
sleep -m 500
Một ví dụ phức tạp hơn về việc sử dụng lệnh sleep là khi bạn cần tạo một kịch bản hoặc đoạn mã tự động hoặc đoạn mã bash. Ví dụ, bạn có thể cần chạy một đoạn mã mỗi giờ hoặc mỗi ngày. Bằng cách sử dụng lệnh sleep, bạn có thể dễ dàng định thời gian chạy đoạn mã theo mong muốn của mình.
Ví dụ, nếu bạn muốn chạy một đoạn mã bash mỗi giờ, bạn có thể sử dụng lệnh sau:
while true; do
./my_script.sh
sleep 3600
done
Trong đoạn mã này, lệnh ./my_script.sh
sẽ được thực thi mỗi giờ, vì vậy chúng ta sử dụng lệnh sleep 3600
để đợi một giờ trước khi thực thi lại lệnh tiếp theo trong vòng lặp. Lệnh while true
được sử dụng để lặp lại đoạn mã vô hạn. Nếu bạn muốn chạy đoạn mã mỗi ngày, bạn có thể sử dụng sleep 86400
thay vì sleep 3600
, vì một ngày có 86400 giây.