Kullanıcı Linux’ta çoklu bir komut dizisi yayınladığında, komutlar hemen birbiri ardına veya aynı anda yürütülür (örn. tee komutu). Ancak bazen komutların yürütülmesini ertelemek ve sistemin beklenen sonuçları vermesi için yeterli süreyi sağlamak gerekir.
Bu öğreticide, Linux’u nasıl kullanacağınızı öğreneceksiniz. sleep
terminal ve kabuk betiklerinde komut yürütmeyi geciktirmek için komut.
Önkoşullar
- Linux çalıştıran bir sistem
- Komut satırına erişim
Linux uyku Komutu Ne İşe Yarar?
bu sleep
komutu, bir sonraki komutun çağrı sürecini belirli bir süre boyunca askıya alır. Bu özellik, aşağıdaki komutun yürütülmesi önceki bir komutun başarıyla tamamlanmasına bağlı olduğunda kullanışlıdır.
Linux uyku Komutu Söz Dizimi Açıklaması
sözdizimi sleep
komut basittir:
sleep [number]
Yukarıdaki örnekte, sonra sleep 5
yürütüldüğünde, ikinci komut istemi 5 saniyelik bir gecikmeyle belirdi.
Varsayılan olarak, sistem aşağıdaki sayıyı okur: sleep
saniye sayısı olarak. Diğer zaman birimlerini belirtmek için aşağıdaki sözdizimini kullanın:
sleep [number][unit]
bu sleep
komutu kayan noktalı sayıları kabul eder. Süreyi hesaplamak için hepsi bir araya toplanan birden fazla değere izin verir. sleep
.
Mevcut birimler şunlardır:
s
– saniyem
– dakikah
– saatd
– günler
durdurmak için sleep
başladıktan sonra ve belirtilen bekleme süresi bitmeden önce tuşuna basın. Ctrl + C
.
Yardımı görmek için sleep
komut, şunu yazın:
sleep --help
Sürüm ayrıntıları için şunu yazın:
sleep --version
Linux uyku Komut Örnekleri
Aşağıdaki bölümlerde, kullanımıyla ilgili örnekler yer almaktadır. sleep
terminal veya kabuk betiklerinde komut.
Not: bu sleep
komutu, diğer Linux komutlarıyla birlikte çalışacak şekilde tasarlanmıştır. Kullanılabilir Linux komutlarının bir listesi için, ücretsiz Linux Komutları Hile Sayfamızı indirin.
Alarm kur
Kullanmak sleep
belirli bir süre sonra sisteme bir mp3 dosyasını çalmasını söylemek için. Örnek mplayer’ı kullanır:
sleep 7h 30m && mplayer alarm.mp3
Terminalde Gecikme Komutları
sleep
iki komutun yürütülmesi arasında bir süre zorlamak için kullanışlıdır. Aşağıdaki örnek yapar echo
komutlar bir saniyelik aralıklarla yürütülür:
sleep 1 && echo "one" && sleep 1 && echo "two"
Uyku Komutuna bir Değişken Atayın
için bir değişken atamak mümkündür. sleep
emretmek. Aşağıdaki kabuk betiğini göz önünde bulundurun:
#!/bin/bash
SLEEP_INTERVAL="30"
CURRENT_TIME=$(date +"%T")
echo "Time before sleep: ${CURRENT_TIME}"
echo "Sleeping for ${SLEEP_INTERVAL} seconds"
sleep ${SLEEP_INTERVAL}
CURRENT_TIME=$(date +"%T")
echo "Time after sleep: ${CURRENT_TIME}"
Komut dosyası, adlı bir değişkeni tanımlar. SLEEP_INTERVAL
değeri daha sonra argüman olarak kullanılır. sleep
emretmek. Bu örnek komut dosyasının çıktısı, yürütmenin 30 saniye sürdüğünü gösterir:
Kontrol Aralıklarını Tanımlayın
Aşağıdaki örnek, sleep
bir web sitesinin çevrimiçi olup olmadığını kontrol eden bir komut dosyasındaki komut. Komut dosyası, bir web sitesine başarılı bir şekilde ping yaparsa durur ve sleep
başarısız pingler arasında 10 saniyelik bir gecikme sağlar.
#!/bin/bash
while :
do
if ping -c 1 www.google.com &> /dev/null
then
echo "Google is online"
break
fi
sleep 10
done
İşlemin Tamamlanması İçin Zaman Tanıyın
Biri arka planda testler çalıştıran ve diğeri sonuçları yazdıran başka iki bash betiğini dahili olarak çağıran bir bash betiği çalıştırıyor olabilirsiniz. Kullanmak sleep
ilk betiğin tamamlanmasından önce çalıştırılırsa ikinci betiğin yanlış sonuçları yazdırmasını önlemek için:
while kill -0 $BACK_PID ; do
echo "Waiting for the process to end"
sleep 1
done
bu kill -0 $BACK_PID
komutu, ilk betiğin işleminin hala çalışıp çalışmadığını kontrol eder. Eğer öyleyse, mesajı yazdırır ve tekrar kontrol etmeden önce 1 saniye uyur.
Gecikmeyi Tahmin Et
Kullanmak sleep
belirli komut yürütmelerinin gecikmesine izin vermek için. Aşağıdaki betik parçacığı nasıl olduğunu gösterir sleep
CPU’ya bir sonraki yinelemeden önce hesaplamayı gerçekleştirmesi için yeterli zamanı verir.
for (( i = 1 ; i <= 250 ; i++ ));
do
sleep 1
qsub computation"${i}".pbs
done
Çözüm
Bu öğreticiyi okuduktan sonra, Linux’u nasıl kullanacağınızı bilmelisiniz. sleep
sıradaki komutların yürütülmesini duraklatmak için komut.
Bash wait komutu, arka planda çalışan işlemlerin tamamlanmasını bekleyen ve çıkış durumunu döndüren bir Shell komutudur. Belirli bir süre bekleyen uyku komutunun aksine, wait komutu tüm veya belirli arka plan görevlerinin bitmesini bekler.