Perintah Bash Wait di Linux

Bash Wait Command Linux



Penantian adalah perintah Linux yang mengembalikan status keluar setelah menunggu proses berjalan yang lengkap. Apabila beberapa proses berjalan serentak, perintah tunggu hanya dapat mengesan yang terakhir. Sekiranya arahan tunggu tidak dikaitkan dengan tugas atau ID proses, ia akan menunggu semua proses anak selesai sebelum mengembalikan status keluar. Perintah bash waiting sering digunakan dengan arahan ID proses atau Job IDs.

Dalam tutorial ini, kita akan meneroka Bash Wait Command di Linux.







Sintaks:

Sintaks umum perintah Wait di Linux adalah:



tunggu ID [pilihan]

ID adalah ID proses atau ID Pekerjaan.



Menjelaskan Command Bash Wait di Linux:

Pertama, buat fail dengan menggunakan arahan sentuh:





$sentuhanBashWait.sh

Jadikan fail ini dapat dilaksanakan dengan menggunakan arahan di bawah:



$chmod+ x nama fail

Setelah hak istimewa yang dapat dilaksanakan diberikan kepada file, buka fail dan tulis skrip dalam file bash:

#! / bin / bash

tidur 3 &

prosesID=$!

membuang 'PID:$ prosesID'

tunggu $ prosesID

membuang 'Status keluar: $?'

$! adalah pemboleh ubah dalam BASH yang menyimpan PID proses terbaru.

Sekarang, jalankan skrip seperti berikut:

$./nama fail

$./BashWait.sh

ID proses dan status Exist akan muncul di shell.

Menggunakan pilihan –n:

Dengan pilihan –n, perintah tunggu hanya menunggu satu pekerjaan dari ID proses yang disediakan atau spesifikasi pekerjaan selesai sebelum mengembalikan status keluarnya. Tunggu-n tunggu apa-apa pekerjaan latar belakang selesai dan mengembalikan status keluar kerja jika tidak ada argumen yang diberikan.

Tulis baris di bawah dalam skrip anda:

#! / bin / bash

tidur 30 &

tidur 8 &

tidur 7 &

tunggu -n

membuang 'Pekerjaan pertama telah selesai.'

tunggu

membuang 'Semua pekerjaan telah diselesaikan.'

Seterusnya, jalankan skrip sekali lagi dan apabila tugas pertama selesai, ia akan mencetak mesej di terminal dan menunggu semua pekerjaan lain diselesaikan.

Menggunakan pilihan –f:

Pilihan -f menunggu setiap id proses atau pekerjaan berhenti sebelum mengembalikan kod keluar. Kawalan kerja hanya tersedia untuk arahan responsif secara lalai.

Buka arahan terminal dan jalankan:

Tunggu proses 3944.

Buka tetingkap terminal yang lain dan jalankan perintah kill untuk menghentikan prosesnya.

Status akan ditukar. Perintah Tunggu akan menyelesaikan dan mengembalikan kod keluar proses.

Ulangi langkah yang diberikan di atas dengan perintah –f.

Skrip dengan perintah Wait:

Kami menggunakan skrip ‘hello.sh’ dan ‘bash.sh’ untuk demonstrasi. Skrip ‘hello.sh’ mencetak nombor dari 1 hingga 5, dan skrip ‘bash.sh’ memanggil hello.sh dan menjalankannya di latar belakang, mempunyai PID hello.sh dan menunggu ia berakhir.

Buat dua skrip dengan nama hello and bash:

Tambahkan baris yang diberikan di bawah dalam fail hello.sh:

#! / bin / bash

untukidalam 1 2 3 4 5 6 7 8 9 10

buat

membuanghello.sh - Nombor gelung$ i.

selesai

Tambahkan baris yang diberikan di bawah dalam skrip bash:

#! / bin / bash

membuangBermula bash.sh

membuangBermula hello.sh

./hello.sh&

proses_id=$!

tunggu $ proses_id

membuangSelesai hello.sh

Pengeluaran:

Kesimpulan:

Apabila pengguna ingin menghentikan proses, sistem melepaskan semua sumber yang disimpan oleh proses dan menunggu proses lain dimulakan. Kita perlu memberitahu proses bahawa proses tersebut dapat memulakan semula pelaksanaan setelah proses lain selesai. Perintah tunggu dalam bash menunggu untuk menyelesaikan pelaksanaan dan mengembalikan status keluar apabila pelaksanaan proses selesai. Dalam manual ini, kami telah melihat beberapa contoh perintah Bash waiting di Linux.