| 12345678910111213141516171819202122232425262728293031323334 | #!/bin/bash# Get the IP addressesp0addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p0)p1addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p1)# Gather options and argumentsopts=""while getopts paot:ex arg; do    opts+=" -${arg} ${OPTARG}"doneshift $((OPTIND-1))echo ===== Running prac $opts -- $*date "+===== Start %s %F %T"# Run, saving the outputsavefile0=$$.p0.outsavefile1=$$.p1.outsavefile2=$$.p2.outdocker exec -w /root/prac prac_p0 bash -c "$PRAC_NUMA_P0 stdbuf -o 0 ./prac $opts 0 $* > $savefile0" &docker exec -w /root/prac prac_p1 bash -c "$PRAC_NUMA_P1 stdbuf -o 0 ./prac $opts 1 $p0addr $* > $savefile1" &docker exec -w /root/prac prac_p2 bash -c "$PRAC_NUMA_P2 stdbuf -o 0 ./prac $opts 2 $p0addr $p1addr $* > $savefile2" &waitecho ===== P0 outputdocker exec -w /root/prac prac_p0 cat $savefile0docker exec -w /root/prac prac_p0 rm -f $savefile0echo ===== P1 outputdocker exec -w /root/prac prac_p1 cat $savefile1docker exec -w /root/prac prac_p1 rm -f $savefile1echo ===== P2 outputdocker exec -w /root/prac prac_p2 cat $savefile2docker exec -w /root/prac prac_p2 rm -f $savefile2date "+===== End %s %F %T"
 |