fradrive/utils/watchcontainerrun.sh

36 lines
689 B
Bash
Executable File

#!/usr/bin/env bash
UTILPATH=${0%/*}
RUNNER="$1"
FILENAME="$2"
STARTSCRIPT="$3"
CLEANUPSCRIPT="$4"
while ! grep -q '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 --no-trunc | grep -q "$CONTAINER_ID" ; then
$RUNNER ps | grep "$CONTAINER_ID"
rm "$FILENAME"
exit
fi
inotifywait -e ATTRIB -t 10 "$FILENAME" > /dev/null 2&>/dev/null
done
$RUNNER stop "$CONTAINER_ID"
$CLEANUPSCRIPT
#$UTILPATH/watchrun.sh "$FILENAME" "$STARTSCRIPT" "$CLEANUPSCRIPT"