#!/bin/bash var0=0 LIMIT=50 PROG="test" LOG="log.txt" function kill_all { pids=`ps -ejH | grep ${PROG} | awk '{print $1}'` for p in ${pids} do echo ${p} if [ -n "${p}" ] then kill -9 ${p} fi done } function fail { echo "$@" kill_all exit 1 } while [ "$var0" -lt "$LIMIT" ] do kill_all rm -rf ./dump/* setsid ./${PROG}& PID=${!} # Close stdin/out/err ./criu exec -t ${PID} close 0 ./criu exec -t ${PID} close 1 ./criu exec -t ${PID} close 2 ./criu dump -t ${PID} -D ./dump -vvvv -o dump.log --shell-job || fail "Failed to dump" sleep 1 ./criu restore -t ${PID} -D ./dump -vvvv -o restore.log -d --shell-job || fail "Failed to dump" var0=`expr $var0 + 1` done echo "end" exit 0