Söz Dizimi
sleep sayı[birim] [...]
Açıklama
sleep komutu, yürütmeyi en az sayı saniye (varsayılan veya s birimi), dakika (m birimi), saat (h birimi) veya gün (d birimi) boyunca askıya alır. Aralıklar, strtod(3) tarafından izin verilen herhangi bir biçimde yazılabilir. Birden fazla aralık verilirse bunlar birbirine eklenir. Nihai toplam sıfır veya negatifse, sleep derhal sonlanır.
sleep komutu bir sinyal aldığında standart eylemi gerçekleştirir. SIGINFO sinyali alındığında, uyumak için kalan tahmini saniye miktarı standart çıktıya yazdırılır.
Uygulama Notları
SIGALRM sinyali bu uygulama tarafından özel olarak işlenmez.
Çıkış Durumu
sleep aracı başarı durumunda 0, bir hata oluşursa >0 değeriyle sonlanır.
Örnekler
Yarım saat sonra bir komut çalıştırmak için:
(sleep 0.5h; sh command_file >out 2>err)&
Bu kullanım, command_file betiğini çalıştırmadan önce yarım saat bekler. Bunu yapmanın başka bir yolu için at(1) aracına bakın.
Bir komutu tekrarlı olarak çalıştırmak için:
while :; do
if ! [ -r zzz.rawdata ] ; then
sleep 5m
else
for i in *.rawdata ; do
sleep 70
awk -f collapse_data "$i"
done >results
break
fi
done
Böyle bir betiğin senaryosu şu olabilir: Şu anda çalışan bir programın bir dizi dosyayı işlemesi beklenenden uzun sürüyordur ve ilk program işini bitirir bitirmez (zzz.rawdata oluşturulduğunda) başka bir programın onun oluşturduğu dosyaları işlemeye başlaması iyi olacaktır. Betik her beş dakikada bir zzz.rawdata dosyasını kontrol eder; dosya bulunduğunda, her bir awk(1) görevi arasında nezaketen 70 saniye uyunarak işlemin diğer kısmı gerçekleştirilir.
Ayrıca Bakınız
nanosleep(2), sleep(3)
Standartlar
sleep komutunun IEEE Std 1003.2 (“POSIX.2”) uyumlu olması beklenmektedir.
Tam sayı olmayan aralıklar için destek, saniye dışındaki birimler ve birbirine eklenen birden fazla aralık, ilk olarak GNU sh-utils 2.0a (2002'de yayınlandı) ile tanıtılan taşınamaz uzantılardır.
Tarihçe
Bir sleep komutu Version 4 AT&T UNIX sürümünde yer almıştır.