Ero sivun ”Wait” versioiden välillä
(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...) |
p (näin) |
||
Rivi 10: | Rivi 10: | ||
$ [[yes]] > /dev/null & | $ [[yes]] > /dev/null & | ||
[1] 12646 | [1] 12646 | ||
, mikä käynnistää [ | , mikä käynnistää [Prosessi#Prosessien_tausta-ajo|taustalle]] ohjelman [[yes]] ja [[Komentorivin perusteet|ohjaa]] sen tulosteen [[laitetiedostot|laitetiedostoon]] <tt>/dev/null</tt>. Toisella rivillä näkyvä numerosarja <tt>12646</tt> on prosessin PID-numero. Ajetaan nyt komento | ||
$ wait 12646 | $ wait 12646 | ||
ja huomataan, että komentotulkki jää odottamaan aiemmin käynnistetyn yes:in sulkeutumista. Tämä voidaan tehdä esimerkiksi kirjoittamalla toiseen komentotulkkiin komento | ja huomataan, että komentotulkki jää odottamaan aiemmin käynnistetyn yes:in sulkeutumista. Tämä voidaan tehdä esimerkiksi kirjoittamalla toiseen komentotulkkiin komento | ||
$ [[killall]] yes | $ [[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. | 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 == | |||
*[[Komentorivikomennot]] | |||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] |
Versio 14. joulukuuta 2007 kello 18.57
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ää [Prosessi#Prosessien_tausta-ajo|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.