Linux'ta Bekleme Komutu

Wait Command Linux



Bekle çalışan herhangi bir işlemi tamamlamayı bekleyen yerleşik bir Linux komutudur. Bekle komut, belirli bir işlem kimliği veya iş kimliği ile kullanılır. Kabukta birden fazla işlem çalıştığında, geçerli kabuk tarafından yalnızca son komutun işlem kimliği bilinecektir. Bu sefer bekle komutu çalıştırılırsa, son komut için uygulanacaktır. wait komutuyla herhangi bir işlem kimliği veya iş kimliği verilmezse, mevcut tüm alt işlemlerin tamamlanmasını bekler ve çıkış durumunu döndürür.

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/bash
dış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/bash
iş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.