12345678910111213141516171819202122232425262728293031323334 |
- #!/bin/bash
- # Get the IP addresses
- p0addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p0)
- p1addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p1)
- # Gather options and arguments
- opts=""
- while getopts paot:ex arg; do
- opts+=" -${arg} ${OPTARG}"
- done
- shift $((OPTIND-1))
- echo ===== Running prac $opts -- $*
- date "+===== Start %s %F %T"
- # Run, saving the output
- savefile0=$$.p0.out
- savefile1=$$.p1.out
- savefile2=$$.p2.out
- docker 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" &
- wait
- echo ===== P0 output
- docker exec -w /root/prac prac_p0 cat $savefile0
- docker exec -w /root/prac prac_p0 rm -f $savefile0
- echo ===== P1 output
- docker exec -w /root/prac prac_p1 cat $savefile1
- docker exec -w /root/prac prac_p1 rm -f $savefile1
- echo ===== P2 output
- docker exec -w /root/prac prac_p2 cat $savefile2
- docker exec -w /root/prac prac_p2 rm -f $savefile2
- date "+===== End %s %F %T"
|