From 6beb92bafb1c22260ae94cf532d34dfbe023152e Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Thu, 11 Jul 2024 20:38:07 +0200 Subject: [PATCH] more useful run wrapper --- .github/workflows/server.yml | 2 +- run-wrapper/run.sh | 19 +++++++++++++++++-- run-wrapper/stop.sh | 23 +++++++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100755 run-wrapper/stop.sh diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index 7467da9f..fa2bc1df 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -202,7 +202,7 @@ jobs: run: cp -r ./webui-dist-downloaded "run-wrapper-out/app/Webui" - name: Copy run wrapper - run: cp -r ./run-wrapper/run.sh "run-wrapper-out/app/" + run: cp -r ./run-wrapper/* "run-wrapper-out/app/" - uses: actions/upload-artifact@v3 with: diff --git a/run-wrapper/run.sh b/run-wrapper/run.sh index 0b8dc0c7..19a8ed82 100755 --- a/run-wrapper/run.sh +++ b/run-wrapper/run.sh @@ -2,7 +2,16 @@ SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) -exec java \ +PIDFILE="$SCRIPT_DIR"/.pid + +if [ -f "$PIDFILE" ]; then + if kill -0 $(cat "$PIDFILE") >/dev/null; then + echo "Already running: "$(cat "$PIDFILE") + exit 2 + fi +fi + +java \ -Xmx256M -Ddhfs.objects.writeback.limit=134217728 \ --add-exports java.base/sun.nio.ch=ALL-UNNAMED \ -Ddhfs.objects.persistence.files.root="$SCRIPT_DIR"/../data/objects \ @@ -10,4 +19,10 @@ exec java \ -Ddhfs.fuse.root="$SCRIPT_DIR"/../fuse \ -Dquarkus.http.host=0.0.0.0 \ -Ddhfs.webui.root="$SCRIPT_DIR"/Webui \ - -jar "$SCRIPT_DIR"/"DHFS Package"/quarkus-run.jar + -jar "$SCRIPT_DIR"/"DHFS Package"/quarkus-run.jar >quarkus.log 2>&1 & + +echo "Started $!" + +echo $! >"$PIDFILE" + +disown diff --git a/run-wrapper/stop.sh b/run-wrapper/stop.sh new file mode 100755 index 00000000..e159a1bb --- /dev/null +++ b/run-wrapper/stop.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) + +PIDFILE="$SCRIPT_DIR"/.pid + +if [ ! -f "$PIDFILE" ]; then + echo "Not running" + exit 2 +fi + +if ! kill -0 $(cat "$PIDFILE") >/dev/null; then + echo "Not running" + rm .pid + exit 2 +fi + +PID=$(cat "$PIDFILE") + +echo "Killing $PID" +kill "$PID" + +rm .pid