Wait

Linux.fista
Versio hetkellä 29. toukokuuta 2017 kello 15.46 – tehnyt Heikki (keskustelu | muokkaukset) (wikilinkin korjaus)
(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[muokkaa]

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.

Katso myös[muokkaa]