Szeretnék úgy elindítani egy folyamatot egy szkriptből, hogy az a háttérben fusson; és mire a szkript egy későbbi pontjára jut el az értelmező, addigra lehetőség szerint lefusson. Ez a "lehetőség szerint" teszi érdekessé az ügyet; azt szeretném, hogy ha a szkript egy adott pontján be lehetne várni a háttérfolyamatot.
Tehát valami ilyesmi kellene; esetleg a másolás végeztét fájlméretek összehasonlításával ellenőrizzem? Vagy van általánosabb módszer?
cp gigafajl gigafajl2 &
...
... (egyéb időigényes műveletek)
...
while test VÉGZETT_E_MÁR_A_MÁSOLÁS ;do sleep 1; done
további utasítások
- 1130 megtekintés
Hozzászólások
nem igazán vagyok nagy zsonglőr ebben a témában, de korábban valami ilyesmi megoldásom működött:
cp gigafajl gigafajl2 & pid=$!
...
... (egyéb időigényes műveletek)
...
wait $pid
további utasítások
- A hozzászóláshoz be kell jelentkezni
+1
--
A gyors gondolat többet ér, mint a gyors mozdulat.
- A hozzászóláshoz be kell jelentkezni
Köszi! Pont ilyenre gondoltam!!
:)
Meg az is kiderült számomra, hogy pid nélkül is lehet várakozni a legutóbb elindított háttérfolyamat(ok)ra: http://unstableme.blogspot.com/2008/06/bash-wait-command.html
- A hozzászóláshoz be kell jelentkezni
If n is not given, all currently active child processes are waited for, and the return status is zero.
Szoval meg a pid(eket) sem kell hozza megjegyezni, eleg, ha siman wait-et irsz. Olyat viszont nem talaltam, hogy addig varjon, amig az egyik (legkorabban vegzo) process kiszall. Neha hasznos lenne, ha egyszerre fix mennyisegu nagyszamu processt kell lefuttatni. Mondjuk ez make -j n-nel korulmenyesen, de megoldhato.
--
Auto correct can go straight to He'll.
- A hozzászóláshoz be kell jelentkezni
jó ezt tudni
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
+1
--------------------------------------------------------------------------
színes
- A hozzászóláshoz be kell jelentkezni