Koudink
Dalsi
Seznam
Predchozi
Autor: Tuttle (http://sandbox.cz/nadavka) on 'Koudink'
Cas: Ct 31.8.2006 0:43.45
Titulek: Tip: ( Wait; for; yo; children ) &

                                                                                 
 
Objevil jsem (pro sebe dosud skrytou) vlastnost shellu. Obcas potrebuju 
spustit vice prikazu paralelne, napriklad v cyklu. Priklad:
 
  for i in SEZNAM ...; do
 
    ( prikaz1; prikaz2; ... ) &
 
  done 2>&1
 
  KONEC SOUBORU
 
Timto zpusobem se skript spusti, spusti sekvencni n-tice prikazu v zavorkach 
vsechny najednou na pozadi a ukonci se. Vystupy podprikazu z pozadi vam pak 
zadelavaji prikazovou radku. 
 
Shell je ale chytry. Pokud mu reknete, ze vystupy tech podprikazu k necemu 
potrebujete, pocka na dokonceni vsech. Pokud tedy posledni radek zmenite na:
 
  done 2>&1 | cat
 
(nebo jakekoli jine zpracovani vystupu podprikazu), prejde se dal teprve pote, 
co se programu cat preda vsechno.
 
Upozornuju, ze data z paralelnich prikazu muzou prijit v jakemkoli poradi.
 
Je to supr. Shellove skripty mi ted muzou spoustet programy na pozadi 
paralelne (coz znatelne zrychli napriklad podprogramy cekajici na sit, napr. 
ping nebo ssh/scp) a zaroven se do prikazove radky vrati skutecne az kdyz je 
vsechno hotovo. 
 
T.

Dalsi Seznam Predchozi


[ Domu | Prstik | O Piskovisti | Deticky | Nastenky | Koutky ]