Linux-komennot

Bash Wait -komento Linuxissa

Bash Wait -komento Linuxissa
Odotus on Linux-komento, joka palauttaa poistumistilan odotettuaan täydellisen käynnissä olevan prosessin. Kun useita prosesseja on käynnissä samanaikaisesti, odotus-komento voi seurata vain viimeistä. Jos odotuskomentoa ei ole liitetty työ- tai prosessitunnukseen, se odottaa kaikkien aliprosessien päättymistä ennen poistumistilan palauttamista. Bash wait -komentoa käytetään usein prosessitunnusten tai Job IDs -komennon kanssa.

Tässä opetusohjelmassa tutkimme Bash Wait -komentoa Linuxissa.

Syntaksi:

Wait-komennon syntaksi Linuxissa on:

odota [vaihtoehto] -tunnus

Tunnus olisi prosessin tunnus tai työn tunnus.

Bash Wait -komennon selitys Linuxissa:

Luo ensin tiedosto kosketuskomennolla:

$ kosketa BashWait.sh

Tee tämä tiedosto suoritettavaksi seuraavalla komennolla:

$ chmod + x tiedostonimi

Kun tiedostolle on annettu suoritettavat oikeudet, avaa tiedosto ja kirjoita komentosarja bash-tiedostoon:

#!/ bin / bash
nukkua 3 &
processID = $!
echo "PID: $ processID"
odota $ processID
echo "Poistumistila: $?"

$! on muuttuja BASH: ssa, joka tallentaa viimeisimmän prosessin PID: n.

Suorita komentosarja nyt seuraavasti:

$ ./Tiedoston nimi
$ ./ BashWait.sh

Prosessin tunnus ja olemassa oleva tila ilmestyvät kuoreen.

Käyttämällä -n -vaihtoehtoa:

-N-vaihtoehdolla, odota komento odottaa vain yhden työn annetusta prosessitunnuksesta tai työn teknisistä tiedoista loppuun, ennen kuin palauttaa sen poistumistilan. Odota -n odottaa minkä tahansa taustatyön päättymistä ja palauttaa työn poistumistilan, jos argumentteja ei anneta.

Kirjoita alla olevat rivit skriptiin:

#!/ bin / bash
nukkua 30 &
nukkua 8 &
nukkua 7 &
odota -n
kaiku "Ensimmäinen työ on valmis."
odota
kaiku "Kaikki työpaikat on saatu valmiiksi."

Suorita sitten komentosarja uudelleen ja kun ensimmäinen työ on valmis, se tulostaa viestin päätelaitteeseen ja odottaa kaikkien muiden töiden valmistumista.

Käyttämällä -f -vaihtoehtoa:

-F -vaihtoehto odottaa jokaisen prosessitunnuksen tai työn lopettamista ennen palautuskoodin palauttamista. Työnhallinta on oletusarvoisesti käytettävissä vain reagoiville kehotteille.

Avaa pääte ja suorita komento:

Odota prosessia 3944.

Avaa toinen pääteikkuna ja lopeta prosessi suorittamalla kill-komento.

Tila muuttuu. Odota-komento viimeistelee ja palauttaa prosessin poistumiskoodin.

Toista yllä olevat vaiheet komennolla -f.

Komentosarja Odota-komennolla:

Käytämme hei.sh 'ja' bash.sh 'skriptit esittelyä varten. Hei.sh-skripti tulostaa numerot 1: stä 5: een ja 'bash.sh 'script soittaa hei.sh ja suorittaa sen taustalla, jolla on hei PID.sh ja odottaa sen loppumista.

Luo kaksi skriptiä nimellä hei ja bash:

Lisää alla olevat rivit tervehdykseen.sh-tiedosto:

#!/ bin / bash
i: lle 1 2 3 4 5 6 7 8 9 10
tehdä
kaiku “hei.sh - Silmukan numero $ i.”
tehty

Lisää alla annetut rivit bash-komentosarjaan:

#!/ bin / bash
kaiku “Alkoi bash.sh ”
kaiku “Hei alkoi.sh ”
./Hei.sh &
prosessi_id = $!
odota $ process_id
kaiku “Hei, valmis.sh

Tuotos:

Päätelmä:

Kun käyttäjä haluaa pysäyttää prosessin, järjestelmä vapauttaa kaikki prosessin pitämät resurssit ja odottaa toisen alkamista. Meidän on ilmoitettava prosessille, että se voi aloittaa suorituksen uudelleen, kun muut prosessit on saatu päätökseen. Bash-komento odottaa suorituksen päättymistä ja palauttaa poistumistilan, kun prosessin suoritus on valmis. Tässä käyttöoppaassa olemme nähneet joitain esimerkkejä Bash wait -komennosta Linuxissa.

Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Parhaat komentorivipelit Linuxille
Komentorivi ei ole vain suurin liittolainen Linuxia käytettäessä - se voi olla myös viihteen lähde, koska voit käyttää sitä pelaamaan monia hauskoja p...
Parhaat Linux-peliohjaimen kartoitussovellukset
Jos haluat pelata pelejä Linuxissa peliohjaimella tyypillisen näppäimistön ja hiiren syöttöjärjestelmän sijaan, on sinulle hyödyllisiä sovelluksia. Mo...