GNU/Linux >> Belajar Linux >  >> Linux

Perintah tunggu di Linux dijelaskan dengan contoh

menunggu perintah datang built-in dengan Linux; maka Anda dapat menemukannya di salah satu distro Linux. Digunakan untuk menunggu sebelum proses yang sedang berjalan selesai. Untuk membuatnya berfungsi, Anda harus menggunakannya dengan id pekerjaan atau id proses.

Singkatnya, menunggu perintah dengan ID pekerjaan atau ID proses yang diberikan akan menunggu proses selesai dan mengembalikan status penghentiannya.

Tunggu perintah berguna dalam hal mengelola alur kerja otomatisasi. Ini dapat membantu Anda mengatur aliran dengan benar sehingga otomatisasi berhasil. Misalnya, proses otomatisasi Anda memerlukan modul tertentu untuk menyelesaikan eksekusi sebelum modul berikutnya dapat diterapkan. Perintah wait memungkinkan Anda melakukannya.

Bekerja dari menunggu perintah

Perintah akan memonitor proses sebelumnya. Setelah proses sebelumnya mengembalikan status, maka akan mengirim status keluar. Jadi, jika Anda menunggu proses dengan ID 25351 selesai, perintah wait akan menunggu penyelesaiannya sebelum mengirimkan status keluar. Pesan kembali akan berisi status keluar proses.

Sintaks Umum:

wait [Processid] [jobid]
  • ID Proses –> Jika Anda menggunakan ID proses (tunggu PID), maka akan menunggu penghentian utilitas
  • Job ID –> Dalam hal ini, akan menunggu proses background yang telah Anda pilih. Ini hanya berfungsi di lingkungan eksekusi shell saat ini.

Perintah keluar diatur untuk melebihi nilai yang lebih besar dari 128 jika proses dihentikan secara tiba-tiba. Jadi, jika Anda melihat jumlah yang lebih tinggi dari 128, ini berarti prosesnya tidak berjalan sebagaimana mestinya.

Status keberhasilan keluar diatur ke 0. Ini hanya terjadi jika proses berhasil dihentikan tanpa proses anak yang berjalan di shell saat ini. Namun, jika Anda tidak menerima 0 sebagai status keluar, maka itu berarti ada beberapa kesalahan. Itu diberitahukan dengan nilai di mana saja dari 1 hingga 126. Juga, jika Anda mendapatkan status keluar 127, itu berarti id proses tidak diketahui.

Contoh Praktis

Untuk mendapatkan pemahaman yang lebih baik, mari kita lihat beberapa contoh praktis di bawah ini.

Tunggu perintah dengan banyak proses

Dalam contoh ini, kita akan melihat bagaimana menunggu perintah bekerja dengan berbagai proses. Kami akan membuat skrip tempat kami menjalankan dua perintah dan kemudian menunggunya.

Kami memberi nama skrip multiple.sh . Di bawah ini adalah kodenya.

#!/bin/bash
echo "testing the wait command instance 1" &
process_id=$!
echo "testing the wait command instance 2" &
wait $process_id
echo Job 1 is completed and exited with status $?
echo Job 2 is completed and existed with status $?

Di atas juga merupakan contoh skrip dengan perintah wait. Juga, itu mengembalikan status. Untuk mendapatkan pemahaman yang lebih baik, mari kita membaca skrip baris demi baris. Pada baris pertama, kita mengimpor bash yang akan kita gunakan untuk menjalankan skrip.

Selanjutnya, kita akan melakukan echo ke shell bahwa kita sedang menguji perintah wait. Kami menyimpan id proses dari proses pertama dalam variabel $process_id. Sekarang, kita menunggu proses pertama dieksekusi. Setelah selesai maka akan keluar output bahwa proses pertama sudah selesai dan juga akan keluar status dengan tanda “$?”

Juga, Anda dapat melihat bahwa perintah wait kedua digunakan dengan “$!”. Ini berarti kita menggunakan id proses kedua dengan perintah wait.

Pada akhirnya, kedua proses dijalankan seluruhnya dan mengembalikan status keluar 0.

Membunuh proses dan menggunakan tunggu perintah

Pada contoh kedua, kita akan mematikan sebuah proses dan kemudian menggunakan wait memerintah. Beri nama skrip kita, killanwait.sh.

#! /bin/bash
echo "Killing process and using wait command"
sleep 10 &
procc_id=$!
kill $procc_id
wait $procc_id
echo $procc_id is terminate

Jika Anda menjalankan skrip di atas, Anda akan mendapatkan output sebagai berikut:

Seperti yang Anda lihat, status keluar itu berbeda dan dibaca saat proses dihentikan. Contoh ini menunjukkan kepada Anda bagaimana perintah mengembalikan status keluar yang berbeda tergantung pada nasib proses.

Memeriksa nilai status keluar

Pada contoh terakhir, kita akan melihat skrip yang menggunakan check() fungsi. cek() fungsi membutuhkan dua argumen. Sebut saja skrip kami waitandcheck.sh .

Di sini kita mendefinisikan sebuah fungsi:

function check()
{
echo "Let's sleep for $1 seconds"
sleep $1
exit $2
}

Seperti yang Anda bisa, fungsi ini pertama-tama menggemakan berapa lama proses pertama akan tidur dan kemudian menggunakannya untuk tidur dan keluar dari proses. Kami mengambil input menggunakan baris di bawah ini:

check $1 $2 &
b=$!
echo "checking the status"
wait $b && echo FINE || echo NOT FINE

Pada baris di atas, kami mengambil input dari pengguna dan kemudian menampilkan status menggunakan tunggu perintah.

Kesimpulan

Itu saja tentang menunggu penggunaan perintah di Linux. Seperti yang telah Anda alami, ini dapat dimanfaatkan dengan baik dalam alur kerja otomatisasi. Bagaimana Anda menggunakan perintah? Apakah Anda menemukan kegunaan tambahan selain yang tercakup dalam artikel ini? Bagikan pemikiran Anda dengan pembaca kami.


Linux
  1. Perintah shutdown Linux Dijelaskan dengan Contoh

  2. Perintah Traceroute Linux, Dijelaskan dengan Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah Bash wait dengan Contoh

  2. Perintah wc Linux dengan Contoh

  3. Perintah potong Linux Dijelaskan dengan 6 Contoh

  1. Perintah ip Linux dengan Contoh

  2. Perintah Linux ldd Dijelaskan dengan Contoh

  3. 15 Perintah Linux ps dengan Contoh