Bash timed execution

2009-05-22 08:05:14 UTC by maris in Linux, Skripti,

Tikko savajadzējās uztaisīt check'u ar timeout'u, te mu būs piemērs kā to izdarīt no bash. Ideja diezgan vienkārša - forkojam galveno procesu backgroundā, savācam procesa pid, guļam timeout sekundes, pēc kā pārbaudma vai process joprojām ir aktīvs. #!/bin/bash mainproc(){ for i in `seq 1 20` do echo "Now in $i" sleep 1 done } timeout=5 echo "Running with timeout of 5 seconds" mainproc & pid=$! sleep $timeout kill -0 $pid if [ $? -eq 0 ] then echo "Process hang" kill -9 $pid else echo "Process ok" fi

Komentāri:

Pievieno komentāru