diff --git a/run.sh b/run.sh deleted file mode 100755 index 474c7139..00000000 --- a/run.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh - -# There's no need to run as root, so don't allow it, for security reasons -if [ "$USER" = "root" ]; then - echo "Please su to non-root user before running" - exit -fi - -# Validate Java is installed and the minimum version is available -MIN_JAVA_VER='11' - -if command -v java > /dev/null 2>&1; then - version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}') - version=$(echo $version | cut -d'.' -f1,2) - if [ `echo "${version}>=${MIN_JAVA_VER}" | bc` -eq 1 ]; then - echo 'Passed Java version check' - else - echo 'Please upgrade your Java to version 11 or greater' - exit 1 - fi -else - echo 'Java is not available, please install Java 11 or greater' - exit 1 -fi - -# No qortal.jar but we have a Maven built one? -# Be helpful and copy across to correct location -if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then - echo "Copying Maven-built Qortal JAR to correct pathname" - cp target/qortal*.jar qortal.jar -fi - -# Limits Java JVM stack size and maximum heap usage. -# Comment out for bigger systems, e.g. non-routers -# or when API documentation is enabled -# JVM_MEMORY_ARGS="-Xss256k -Xmx128m" - -# Although java.net.preferIPv4Stack is supposed to be false -# by default in Java 11, on some platforms (e.g. FreeBSD 12), -# it is overriden to be true by default. Hence we explicitly -# set it to true to obtain desired behaviour. -nohup nice -n 20 java \ - -Djava.net.preferIPv4Stack=false \ - -XX:NativeMemoryTracking=summary \ - ${JVM_MEMORY_ARGS} \ - -jar qortal.jar \ - 1>run.log 2>&1 & - -# Save backgrounded process's PID -echo $! > run.pid -echo qortal running as pid $! diff --git a/run.sh b/run.sh new file mode 120000 index 00000000..ebcc7e66 --- /dev/null +++ b/run.sh @@ -0,0 +1 @@ +start.sh \ No newline at end of file diff --git a/start.sh b/start.sh new file mode 100755 index 00000000..b3db54fe --- /dev/null +++ b/start.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +# There's no need to run as root, so don't allow it, for security reasons +if [ "$USER" = "root" ]; then + echo "Please su to non-root user before running" + exit +fi + +# Validate Java is installed and the minimum version is available +MIN_JAVA_VER='11' + +if command -v java > /dev/null 2>&1; then + # Example: openjdk version "11.0.6" 2020-01-14 + version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}' | cut -d'.' -f1,2) + if echo "${version}" "${MIN_JAVA_VER}" | awk '{ if ($2 > 0 && $1 >= $2) exit 0; else exit 1}'; then + echo 'Passed Java version check' + else + echo "Please upgrade your Java to version ${MIN_JAVA_VER} or greater" + exit 1 + fi +else + echo "Java is not available, please install Java ${MIN_JAVA_VER} or greater" + exit 1 +fi + +# No qortal.jar but we have a Maven built one? +# Be helpful and copy across to correct location +if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then + echo "Copying Maven-built Qortal JAR to correct pathname" + cp target/qortal*.jar qortal.jar +fi + +# Limits Java JVM stack size and maximum heap usage. +# Comment out for bigger systems, e.g. non-routers +# or when API documentation is enabled +# JVM_MEMORY_ARGS="-Xss256k -Xmx128m" + +# Although java.net.preferIPv4Stack is supposed to be false +# by default in Java 11, on some platforms (e.g. FreeBSD 12), +# it is overridden to be true by default. Hence we explicitly +# set it to false to obtain desired behaviour. +nohup nice -n 20 java \ + -Djava.net.preferIPv4Stack=false \ + ${JVM_MEMORY_ARGS} \ + -jar qortal.jar \ + 1>run.log 2>&1 & + +# Save backgrounded process's PID +echo $! > run.pid +echo qortal running as pid $!