#!/bin/sh help(){ echo "Usage: $0 " exit 0 } monitor(){ echo monitoring lavrec... nerr=0 old=`head -1 /proc/stat` while sleep 1 do new=`head -1 /proc/stat` isrun=`{ echo $old echo $new } | awk ' BEGIN { cpu=0 } { if(cpu==0) { cpu=$2 } else { if($2-cpu<50) print "1" else print "0" } }'` case $isrun in 0) let nerr=0 ;; 1) let nerr=nerr+1 ;; esac case $nerr in 1) echo lavrec timeout detected... return ;; esac old=$new done } if test "$#" = "1" then case $1 in *.mov) base=`echo $1 | sed "s/.mov$//"` flag="-fq" extn="mov" ;; *.qt) base=`echo $1 | sed "s/.qt$//"` flag="-fq" extn="qt" ;; *.avi) base=`echo $1 | sed "s/.avi$//"` flag="-fa" extn="avi" ;; *) help ;; esac for i in 0 1 2 3 4 5 6 7 8 9 do for j in 0 1 2 3 4 5 6 7 8 9 do echo Capturing $base$i$j-XX.$extn... lavrec -B --software-encoding -n64 --num-procs 3 $flag -iN -q75 \ -g480x480 -s --max-file-size 128 $base$i$j-%02d.$extn & lavrec_pid=$! trap "kill -1 $lavrec_pid; exit" 1 trap "kill -2 $lavrec_pid; exit" 2 trap "kill -3 $lavrec_pid; exit" 3 trap "kill -15 $lavrec_pid; exit" 15 sleep 1 monitor if test -d /proc/$lavrec_pid then echo ...kill -2 $lavrec_pid kill -2 $lavrec_pid sleep 1 if test -d /proc/$lavrec_pid then sleep 1 if test -d /proc/$lavrec_pid then echo ...killall -9 lavrec killall -9 lavrec fi fi fi done done else help fi