diff --git a/utils/watchcontainerrun.sh b/utils/watchcontainerrun.sh new file mode 100644 index 000000000..fc2bfca06 --- /dev/null +++ b/utils/watchcontainerrun.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +UTILPATH=${0%/*} + +RUNNER="$1" +FILENAME="$2" +STARTSCRIPT="$3" +CLEANUPSCRIPT="$4" + +while ! grep 'CONTAINER_ID=' "$FILENAME" ; do + sleep 1 +done + +sleep 1 # safety, we do not want to have half written container ids + +CONTAINER_ID=`cat $FILENAME | grep 'CONTAINER_ID=' | sed 's/CONTAINER_ID=//'` + +$STARTSCRIPT + +while [ -e "$FILENAME" ] ; do + sleep 1 + if ! $RUNNER ps | grep "$CONTAINER_ID" ; then + exit + fi + inotifywait -e ATTRIB -t 10 "$FILENAME" > /dev/null 2&>/dev/null +done + +$RUNNER stop "$CONTAINER_ID" + +$CLEANUPSCRIPT + +rm "$FILENAME" + +#$UTILPATH/watchrun.sh "$FILENAME" "$STARTSCRIPT" "$CLEANUPSCRIPT" +