Wait

Linux.fista
Versio hetkellä 14. joulukuuta 2007 kello 18.56 – tehnyt Heikki (keskustelu | muokkaukset) (Ak: Uusi sivu: Wait on komentotulkin sisäinen komento, joka odottaa, kunnes tietty prosessi on saatu suoritettua loppuun. Komennon syntaksi on seuraava wait pid, missä <tt>pid</tt> on sen prosess...)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Wait on komentotulkin sisäinen komento, joka odottaa, kunnes tietty prosessi on saatu suoritettua loppuun. Komennon syntaksi on seuraava

wait pid,

missä pid on sen prosessin PID-tunniste, jonka loppumista odotetaan.

Wait on ajettava siinä komentotulkissa, jossa myös odotettava ohjelma on ajossa. Muutoin wait antaa virheilmoituksen

bash: wait: pid 12568 is not a child of this shell

Esimerkki

Laitetaan taustalle pyörimään jokin ohjelma:

$ yes > /dev/null &
[1] 12646

, mikä käynnistää taustalle ohjelman yes ja ohjaa sen tulosteen laitetiedostoon /dev/null. Toisella rivillä näkyvä numerosarja 12646 on prosessin PID-numero. Ajetaan nyt komento

$ wait 12646

ja huomataan, että komentotulkki jää odottamaan aiemmin käynnistetyn yes:in sulkeutumista. Tämä voidaan tehdä esimerkiksi kirjoittamalla toiseen komentotulkkiin komento

$ killall yes

jonka jälkeen havaitaan, että edellä käynnistetty wait saa työnsä päätökseen (se on odottanut ohjelman sammumiseen asti) ja sulkeutuu itse.