Utos ng Bash Wait sa Linux

Bash Wait Command Linux



Ang paghihintay ay isang utos ng Linux na nagbabalik ng isang katayuan sa paglabas pagkatapos maghintay para sa isang kumpletong proseso ng pagpapatakbo. Kapag maraming proseso ang tumatakbo nang sabay-sabay, masusubaybayan lamang ng paghihintay na utos ang huli. Kung ang paghihintay na utos ay hindi naiugnay sa isang trabaho o proseso ng ID, maghihintay ito para sa lahat ng mga proseso ng bata na makumpleto bago ibalik ang isang katayuan sa exit. Ang utos ng bash wait ay madalas na ginagamit sa mga proseso ng ID o utos ng Mga Job ID.

Sa tutorial na ito, susuriin namin ang Bash Wait Command sa Linux.







Syntax:

Ang pangkalahatang syntax ng utos ng Maghintay sa Linux ay:



maghintay [opsyon] ID

Ang ID ay isang proseso ID o Job ID.



Pagpapaliwanag ng Bash Wait Command sa Linux:

Una, lumikha ng isang file sa pamamagitan ng paggamit ng touch command:





$hawakanBashWait.sh

Gawing maipapatupad ang file na ito sa pamamagitan ng paggamit ng sumusunod na utos:



$chmod+ x filename

Kapag ang naipatupad na mga pribilehiyo ay iginawad sa file, buksan ang file at magsulat ng isang script sa bash file:

#! / baseng / bash

matulog 3 &

prosesoID=$!

itinapon 'PID:$ prosesoID'

teka $ prosesoID

itinapon 'Katayuan sa paglabas: $?'

$! ay isang variable sa BASH na nag-iimbak ng PID ng pinakabagong proseso.

Ngayon, patakbuhin ang script tulad ng sumusunod:

$./filename

$./BashWait.sh

Ang proseso ng ID at Umiiral na katayuan ay lilitaw sa shell.

Paggamit ng –n pagpipilian:

Gamit ang pagpipiliang –n, naghihintay lamang ang maghihintay na utos para sa isang solong trabaho mula sa ibinigay na proseso ID o mga detalye ng trabaho upang matapos bago ibalik ang katayuan nito sa exit. Maghintay -n naghihintay para sa anumang trabaho sa background upang matapos at ibalik ang katayuan sa exit ng trabaho kung walang ibinigay na mga argumento.

Isulat ang mga linya na ibinigay sa ibaba sa iyong script:

#! / baseng / bash

matulog 30 &

matulog 8 &

matulog 7 &

teka -n

itinapon 'Ang unang trabaho ay nakumpleto na.'

teka

itinapon 'Lahat ng trabaho ay nakumpleto na.'

Susunod, patakbuhin muli ang script at kapag natapos ang unang trabaho, mai-print nito ang mensahe sa terminal at hintaying makumpleto ang lahat ng iba pang mga trabaho.

Paggamit ng –f pagpipilian:

Naghihintay ang opsyong -f para sa bawat proseso ng id o trabaho na huminto bago ibalik ang exit code. Magagamit lamang ang pagkontrol sa trabaho para sa mga tumutugong senyas bilang default.

Buksan ang terminal at patakbuhin ang utos:

Maghintay para sa proseso 3944.

Buksan ang isang iba't ibang window ng terminal at isagawa ang kill command upang wakasan ang proseso.

Ang status ay mababago. Kumukumpleto ang utos ng Maghintay at ibabalik ang proseso ng exit code.

Ulitin ang mga hakbang na ibinigay sa itaas gamit ang utos na –f.

Command na may paghihintay na Script:

Gumagamit kami ng mga 'hello.sh' at 'bash.sh' na mga script para sa pagpapakita. Ang script na 'hello.sh' ay naglilimbag ng mga numero mula 1 hanggang 5, at ang script na 'bash.sh' ay tumatawag sa hello.sh at pinapatakbo ito sa background, pagkakaroon ng PID ng hello.sh at hinihintay itong matapos.

Lumikha ng dalawang script na may pangalang hello at bash:

Idagdag ang mga linya na ibinigay sa ibaba sa hello.sh file:

#! / baseng / bash

para saakosa 1 2 3 4 5 6 7 8 9 10

gawin

itinaponhello.sh - Numero ng pag-loop$ i.

tapos na

Idagdag ang mga linya na ibinigay sa ibaba sa bash script:

#! / baseng / bash

itinaponNagsimula bash.sh

itinaponNagsimula kamusta.sh

./hello.sh&

proseso_id=$!

teka $ proseso_id

itinaponNakumpleto ang hello.sh

Output:

Konklusyon:

Kapag nais ng isang gumagamit na itigil ang isang proseso, ilalabas ng system ang lahat ng mga mapagkukunang itinatago ng proseso at naghihintay para magsimula ang isa pa. Kakailanganin naming abisuhan ang proseso na maaari nitong muling simulan ang pagpapatupad sa sandaling ang iba pang mga proseso ay nakumpleto. Naghihintay ang utos ng paghihintay sa bash upang makumpleto ang pagpapatupad at ibabalik ang katayuan ng exit kapag kumpleto na ang pagpapatupad ng proseso. Sa manwal na ito, nakakita kami ng ilang mga halimbawa ng utos ng paghihintay ng Bash sa Linux.