diff --git a/bin/bfaupdate.sh b/bin/bfaupdate.sh index 5e0462ef16a95ea4a3f2974296568a7c4a7df8c8..625163b16676aa5d8c7a1b3dc707b69942431fe8 100755 --- a/bin/bfaupdate.sh +++ b/bin/bfaupdate.sh @@ -55,9 +55,15 @@ then runasownerof ${BFAHOME} git pull exec $0 wealreadypulled else - aptinstall libclass-accessor-perl # make sure bfa is in group sudo id bfa | grep -q sudo || runasownerof / adduser bfa sudo + aptinstall libclass-accessor-perl + # rebuild installed modules runasownerof ${BFAHOME} npm rebuild + # install new ones (if any) runasownerof ${BFAHOME} npm install + # delete stale pid files + runasownerof ${BFAHOME} find ${BFAHOME} -name '*.pid' -delete + set +x + echo "*** Now would be a good time to restart the server." fi diff --git a/bin/start.sh b/bin/start.sh index 40bf7ca5758d27e2c9ee009a6c4a26e325798915..c605414fab425b0ac8e7267181e68354c62963ee 100755 --- a/bin/start.sh +++ b/bin/start.sh @@ -26,7 +26,7 @@ function startbootnode { local ERRTEXT="bootnode section failed" local keyfile=${BFANETWORKDIR}/bootnode/key - local pidfile=${BFANETWORKDIR}/bootnode/bootnode.pid + local pidfile=${BFANETWORKDIR}/bootnode.pid which bootnode >/dev/null 2>&1 || return 0 test -r $keyfile || return 0 ( @@ -34,6 +34,7 @@ function startbootnode echo "A bootnode is already running." false ) || exit + echo ${BASHPID} > ${BFANODEDIR}/start-bootnode-loop.pid if [ -t 1 ] then echo Starting bootnode. @@ -65,10 +66,15 @@ function startmonitor echo "A monitor is already running." false ) || exit + echo ${BASHPID} > ${BFANODEDIR}/start-monitor-loop.pid ( - monitor.js & - echo $! > $pidfile - wait + while : + do + monitor.js & + echo $! > $pidfile + wait + sleep 10 + done ) 2>&1 | ${BFAHOME}/bin/log.sh ${BFANODEDIR}/log & ) 9>> $pidfile } @@ -117,6 +123,7 @@ function startgeth { # Start the node. local ERRTEXT="geth section failed" + local pidfile=${BFANETWORKDIR}/geth.pid which geth >/dev/null 2>&1 || return 0 # ( @@ -124,7 +131,7 @@ function startgeth echo "A geth is already running." false ) || exit 1 - echo ${BASHPID} > ${BFANODEDIR}/start-loop.pid + echo ${BASHPID} > ${BFANODEDIR}/start-geth-loop.pid if [ -t 1 ] then echo Starting geth @@ -195,12 +202,12 @@ function startgeth --rpccorsdomain \* \ --bootnodes "${bootnodes}" & set +x - echo $! > ${BFANODEDIR}/geth.pid + echo $! > $pidfile rv=0 wait -n || rv=$? sleep 60 done 2>&1 | ${BFAHOME}/bin/log.sh ${BFANODEDIR}/log & - ) 9>> ${BFANODEDIR}/start-loop.pid + ) 9>> $pidfile } startgeth