Időkorlát: php és cron

Fórumok

Sziasztok!

Van egy program, amelyet phpból indítok, ennek a screen-jére phpból parancsokat küldök. Ez a program egy felvételt készít(lényegtelen, hogy mit). A problémám az, hogy az embereknek meg van az a tulajdonsága, hogy elfelejtik leállítani a felvételt és e miatt több Gb-os fájlok keletkeznek, ami még nem is lenne akkora gond, csak a nem lehet megnézni a felvételt, mert túl nagy a fájl mérete és ezért fagy a progi (nem csak nálam, többen panaszkodtak ugyanis egy átlag fájlméret egy ilyen felvételből 80Mb). Kérdésem az lenne, hogy hogyan tudnám megcsinálni, hogy időkorlátos legyen az egész. Tehát egy user küld a screenre egy parancsot, amit cronból ps parancsal vizsgálok, hogy mióta fut, és ha több mint X órája akkor küldjön a screenre a user nevében egy másikat (ami leállítja a felvételt). Ez mind szép és jó, csak az vele a gond, hogy nem vágom annyira még a linuxot, hogy ezt meg tudjam valósítani. Google-t olvasgattam már, de nem találtam olyat ami körülbelül megfelelne az én problémámra.
Ötleteket várok, hogyan tudnám orvosolni a problémámat.

Hozzászólások

Elso tippem, hogy olvasd at a - szerintem - legkonnyebben elsajatithato sztringfeldolgozo nyelv, az awk doksijat.
A masodik pedig, ha az elso nem tetszene, ird at a php altal inditott progit, hogy az maga szamolja az eltelt (korulbeluli) idot.
Bashben kb. igy:


MAX_RUN_SEC=5

# erdemi resz, ami valamit csinal
function f1 {
while true ; do
date
sleep 1
done
}

# startolja az erdemi reszt
f1 > f1.out &

# visszaszamol (illetve elore), aztan gyilkol
sleep $MAX_RUN_SEC
kill %1