diff --git a/px6_send.sh b/px6_send.sh index 0b89b7d..a9c8fc2 100755 --- a/px6_send.sh +++ b/px6_send.sh @@ -6,7 +6,7 @@ FILE=$4 PROCMAXTIME=60 MAINPID=$$ -PGID=$(ps -o pgid= $MAINPID | grep -o [0-9]*) +PGID=$(ps -o pgid= $MAINPID | grep -oe "[0-9]*") do_exit() { kill -9 -$PGID @@ -20,14 +20,12 @@ for i in $(seq 0 $(($PROCS-1))); do while true; do ( THISPID2=$BASHPID - # ( while kill -0 $MAINPID; do sleep 1; done; do_exit ) & ( sleep $PROCMAXTIME; kill -9 $THISPID2 >/dev/null 2>&1 ) & - # echo "starting $(($i+1)) / $PROCS" - ( while true; do cat $FILE; done ) | nc $IP $PORT >/dev/null 2>&1 + echo "starting $(($i+1)) / $PROCS" + ( while kill -0 $THISPID2; do cat $FILE; done ) | nc $IP $PORT >/dev/null 2>&1 ) >/dev/null 2>&1 done ) & - sleep 1 - sleep $(echo "scale=2; $PROCMAXTIME/$PROCS" | bc) + sleep $(echo "scale=2; ($PROCMAXTIME/$PROCS) + 1" | bc) done while true; do sleep 9999999; done