1b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#! /bin/sh 2b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 3b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# simulate control_c by sending SIGUSR1 to the vgdb using prefix $1 in $2 seconds 4b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# If there are some args after $2, the rest of these args is a command and its arg 5b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# which is run every second. When this command is succesful, then the sleep and 6b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# the control c simul is done. 7b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovPREFIX=$1 8b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovshift 9b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovSLEEP=$1 10b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovshift 11b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovGUARDCMD="$@" 12b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovif [ "$GUARDCMD" = "" ] 13b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovthen 14b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov GUARDCMD="true" 15b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovfi 16b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovVGDBPID=`./vgdb -D $PREFIX 2>&1 | awk '/vgdb pid/ {print $3}'` 17b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovif [ "$VGDBPID" = "" ] 18b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovthen 19b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov echo "simulate_control_c could not determine the vgdb pid with " $PREFIX 20b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov exit 1 21b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovfi 22b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov(while ! $GUARDCMD >> garbage.filtered.out 2>&1 23b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov do 24b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov sleep 1 25b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov done 26b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov sleep $SLEEP 27b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov kill -10 $VGDBPID) & 28