On Fri, Oct 26, 2001 at 11:17:39AM +0200, Miro Bobovsky wrote: > nemate niekto udelatko .. > (raz som mal ale kdesi som zapotrosil) > do scriptov aby som vedel v scripte niektore pazase > (resp zavolane programy/scripty) ohranicit nejakym timeoutom ... Cafes, toto spusti program v pozadi a kazdych 200 milisekund cekne, ci este bezi. Po uplynuti daneho casu mu posle TERM a potom KILL. function timeout() { local PERIOD=200 local TO=$(( $1 * 1000 )) shift eval "$* &" local PID=$! while (( $TO > 0 )); do if ! ps $PID &>/dev/null; then exit fi usleep $PERIOD TO=$(( $TO - $PERIOD )) done if ps $PID &>/dev/null; then kill -TERM $PID &>/dev/null fi if ps $PID &>/dev/null; then kill -KILL $PID &>/dev/null fi } Prikaz, ktory chces, aby bezal najviac 10 sekund potom spustis takto: timeout 10 ls -l /usr/share Je to urobene ako funkcia, ktora sa vrati najneskor po timeoute. Ak chces aj tuto spustit v pozadi (a prejst hned na dalsi prikaz), tak ju volaj (timeout 10 ls -l /usr/share) & next_cmd Velmi som to netestoval, ale time mi vyhadzal zaujimave cisla, takze, ak chces aby to bolo co najefektivnejsie, tak sa pohraj s hodnotou $PERIOD, alebo usleep nahrad sleep a cekuj menej casto... judas _______________________________________________ http://lists.linux.sk/listinfo/linux http://search.lists.linux.sk