sleep_loop.sh stops on command errors

This commit is contained in:
Edoardo Aprà 2017-11-28 21:58:07 -08:00 committed by GitHub
parent f365b02031
commit b2eef098ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,17 +1,27 @@
#!/bin/bash
rm -f make.log
echo "starting sleep_loop.sh for command: " ${@}
"${@}" >& make.log &
pid=$!
echo "sleep_loop got pid" $pid
while :
do
sleep 60s
if kill -0 "$pid" 2>/dev/null; then
echo ' ==== ' `date` ' ==== '
tail -1 make.log
elif wait "$pid"; then
break # exit loop.
fi
done
ps -p "$pid" > /dev/null
if [[ "${?}" -ne 0 ]];
then
echo ' job stopped ' "${?}"
exit 1
else
while :
do
if kill -0 "$pid" 2>/dev/null; then
echo ' ==== ' `date` ' ==== '
tail -1 make.log
elif wait "$pid"; then
break # exit loop.
fi
sleep 60s
done
exit 0
fi
echo 'exited loop '
exit 0
tail -1 make.log