Linux'ta Bash Bekle komutu

Bash Wait Command Linux



Bekleme, tam bir çalışan işlemi bekledikten sonra bir çıkış durumu döndüren bir Linux komutudur. Birkaç işlem aynı anda çalışırken, wait komutu yalnızca sonuncuyu takip edebilir. wait komutu bir iş veya işlem kimliği ile ilişkili değilse, bir çıkış durumu döndürmeden önce tüm alt işlemlerin tamamlanmasını bekleyecektir. Bash wait komutu, genellikle işlem kimlikleri veya İş Kimlikleri komutuyla birlikte kullanılır.

Bu derste, Linux'ta Bash Bekleme Komutunu keşfedeceğiz.







Sözdizimi:

Linux'ta Wait komutunun genel sözdizimi şöyledir:



bekle [seçenek] kimliği

Kimlik, bir işlem kimliği veya İş Kimliği olacaktır.



Linux'ta Bash Bekleme Komutunu Açıklamak:

İlk olarak, touch komutunu kullanarak bir dosya oluşturun:





$dokunmaBashWait.sh

Aşağıdaki komutu kullanarak bu dosyayı yürütülebilir yapın:



$chmod+x dosya adı

Dosyaya yürütülebilir ayrıcalıklar verildiğinde, dosyayı açın ve bash dosyasına bir komut dosyası yazın:

#!/bin/bash

uyku 3 &

süreç kimliği=$!

dışarı attı 'PID:$processID'

Bekle $processID

dışarı attı 'Çıkış durumu: $?'

$! BASH'de en son işlemin PID'sini depolayan bir değişkendir.

Şimdi betiği aşağıdaki gibi çalıştırın:

$./dosya adı

$./BashWait.sh

Kabukta İşlem Kimliği ve Var durumu görünecektir.

–n seçeneğini kullanarak:

–n seçeneğiyle, wait komutu, çıkış durumunu döndürmeden önce yalnızca sağlanan işlem kimliğinden veya iş özelliklerinden tek bir işin bitmesini bekler. Wait -n, herhangi bir arka plan işinin bitmesini bekler ve herhangi bir bağımsız değişken sağlanmazsa işten çıkış durumunu döndürür.

Aşağıda verilen satırları betiğinize yazın:

#!/bin/bash

uyku 30 &

uyku 8 &

uyku 7 &

Bekle -n

dışarı attı 'İlk iş tamamlandı.'

Bekle

dışarı attı 'Bütün işler tamamlandı.'

Ardından, betiği tekrar çalıştırın ve ilk iş tamamlandığında mesajı terminalde yazdıracak ve diğer tüm işlerin tamamlanmasını bekleyecektir.

–f seçeneğini kullanarak:

-f seçeneği, çıkış kodunu döndürmeden önce her işlem kimliğinin veya işin durmasını bekler. İş denetimi, yalnızca varsayılan olarak yanıt veren istemler için kullanılabilir.

Terminali açın ve komutu çalıştırın:

3944 işlemini bekleyin.

Farklı bir terminal penceresi açın ve işlemi sonlandırmak için kill komutunu çalıştırın.

Durum değiştirilecektir. Bekle komutu tamamlanacak ve işlem çıkış kodunu döndürecektir.

Yukarıda verilen adımları –f komutuyla tekrarlayın.

Bekle komutuyla komut dosyası:

Gösteri için 'hello.sh' ve 'bash.sh' komut dosyalarını kullanıyoruz. 'merhaba.sh' betiği 1'den 5'e kadar olan sayıları yazdırır ve 'bash.sh' betiği merhaba.sh'yi çağırır ve onu arka planda, hello.sh'nin PID'sine sahip olarak ve bitmesini bekleyerek çalıştırır.

Hello ve bash adında iki komut dosyası oluşturun:

Hello.sh dosyasına aşağıdaki satırları ekleyin:

#!/bin/bash

içinbeniçinde 1 2 3 4 5 6 7 8 9 10

yapmak

dışarı attımerhaba.sh – Döngü numarası$ ben.

tamamlamak

Bash betiğine aşağıda verilen satırları ekleyin:

#!/bin/bash

dışarı attıbash.sh başlatıldı

dışarı attımerhaba.sh başlatıldı

./merhaba.sh&

süreç_kimliği=$!

Bekle $process_id

dışarı attımerhaba.sh tamamlandı

Çıktı:

Çözüm:

Bir kullanıcı bir işlemi durdurmak istediğinde, sistem işlem tarafından tutulan tüm kaynakları serbest bırakır ve bir başkasının başlamasını bekler. Diğer işlemler tamamlandıktan sonra işlemi yeniden başlatabileceğini bildirmemiz gerekecek. Bash'deki wait komutu yürütmenin tamamlanmasını bekler ve işlem yürütmesi tamamlandığında çıkış durumunu döndürür. Bu kılavuzda, Linux'ta Bash wait komutunun bazı örneklerini gördük.