X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=server%2Frun.sh;h=9bf9cc97e35d5c0b89c7135b2ed0e59af5fd54f8;hb=febf57c25e014136bd4c4add413e7a00c599a6ea;hp=be6d4cf248d2aa220e8bfeb68741b417143245fb;hpb=0ef0945e8d83258400fabc61fa81725c5e8e533f;p=matches%2FMCTX3420.git diff --git a/server/run.sh b/server/run.sh index be6d4cf..9bf9cc9 100755 --- a/server/run.sh +++ b/server/run.sh @@ -33,4 +33,16 @@ adc_device_path=$(dirname $(find /sys -name *AIN0)) # Run the program with parameters # TODO: Can tell spawn-fcgi to run the program as an unprivelaged user? # But first will have to work out how to set PWM/GPIO as unprivelaged user -spawn-fcgi -p9005 -n -- ./server -a "$adc_device_path" +fails=0 +while [ $fails -lt 10 ]; do + spawn-fcgi -p9005 -n -- ./server -a "$adc_device_path" + if [ "$?" == "0" ]; then + exit 0 + fi + fails=$(( $fails + 1 )) + (echo "Restarting server after Fatal Error #$fails") 1>&2 + +done +(echo "Server had too many Fatal Errors ($fails)") 1>&2 +exit $fails +