wait komutunun çıkış durumu değeri, belirtilen son işlenen tarafından belirtilen komuta bağlıdır. Herhangi bir işlem anormal şekilde sonlandırıldığında, çıkış durumu 128'den büyük olacak ve diğer komutların çıkış durum değerlerinden farklı olacaktır. Bekle komut, işlenen olmadan çağrıldığında 0 değeriyle çıkar ve geçerli kabuk tarafından bilinen tüm işlem kimlikleri sonlandırıldı. wait komutu herhangi bir hata algılarsa 1'den 126'ya kadar herhangi bir değer döndürür. Son işlem kimliği bilinmiyorsa wait komutu 127 değeriyle çıkar. Bu öğreticide wait komutunu Linux'ta nasıl kullanabileceğiniz gösterilmektedir.
Örnek-1: Birden çok işlem için wait komutunun kullanılması
Aşağıdaki betiği çalıştırdıktan sonra, arka planda iki işlem çalışacak ve ilk yankı komutunun işlem kimliği $process_id değişkeninde saklanacaktır. Wait komutu $process_id ile yürütüldüğünde, sonraki komut ilk yankı komutunun görevini tamamlamayı bekleyecektir. İkinci bekleme komutu ' ile kullanılır $! ' ve bu, son çalışan işlemin işlem kimliğini gösterir. ' $? ' wait komutunun durum değerini okumak için kullanılır.
#!/bin/bash
dışarı attı 'bekleme komutu1 test ediliyor' &
süreç_kimliği=$!
dışarı attı 'bekleme komutu2 test ediliyor' &
Bekle $process_id
dışarı attıİş1durumla çıkıldı$?
Bekle $!
dışarı attıİş2durumla çıkıldı$?
Çıktı:
$bashbekle1.sh
Örnek-2: Kill komutunu kullandıktan sonra bekleme komutunu test edin
Aşağıdaki komut dosyasında, işlem sonlandırıldıktan sonra wait komutu yürütülür. uyku komutu bir arka plan işlemi olarak çalışıyor ve çalışan işlemi sonlandırmak için kill komutu yürütülüyor. Bundan sonra, sonlandırılan işlemin işlem kimliği ile bekleme komutu yürütülür. Çıktı, sonlandırılan işlemin işlem kimliğini gösterecektir.
#!/bin/bashdışarı attı 'Bekleme komutu test ediliyor'
uyku yirmi &
pid=$!
öldürmek $pid
Bekle $pid
dışarı attı $pidsonlandırıldı.
Çıktı:
$bashbekle2.sh
Örnek-3: Çıkış durumu değerini kontrol edin
Aşağıdaki komut dosyasında, işlev Kontrol() iki bağımsız değişken değeri tarafından çağrılır. Eğer wait komutu başarılı bir şekilde çalıştırılırsa çıkış değerinin 0 olacağı ve wait komutu herhangi bir hata tespit ederse 1 ile 126 arasında herhangi bir değer döndüreceği öğreticinin başlangıcında tartışılmıştır. Komut dosyasını çalıştırdıktan sonra, ikinci argüman olarak 0 iletirseniz value sonra wait komutu başarıyla sonlandırılır ve sıfırdan büyük bir değer geçerseniz başarısız olarak sonlandırılır.
#!/bin/bashişlevKontrol()
{
dışarı attı '1 saniye uyu'
uyku 1 dolar
çıkış 2 dolar
}
Kontrol1 dolar 2 dolar &
B=$!
dışarı attı 'Durum kontrol ediliyor'
Bekle $b && dışarı attıTamam|| dışarı attıTAMAM DEĞİL
Çıktı:
$bashbekle3.sh3 0$bashbekle3.sh3 5
Umarım bu eğitim, use wait komutunu doğru şekilde öğrenmenize yardımcı olur. Linux'ta adında başka bir komut var. uyku belirli bir süre beklemek için ancak bu komutlar arasında bazı farklılıklar var. hakkında bilmek ilgileniyorsanız uyku komutu o zaman bu bağlantıyı ziyaret edebilirsiniz.