diff --git a/launcher.sh b/launcher.sh index 6665971..4074cc5 100644 --- a/launcher.sh +++ b/launcher.sh @@ -102,7 +102,17 @@ download_latest_version() { return 1 fi } + +cleanup() { + echo "Received signal, stopping child process..." + kill $CPID 2>/dev/null + wait $CPID 2>/dev/null + exit 0 +} + +trap cleanup TERM INT while true; do + # Находим последнюю версию файла VER_FILE=$(find_local_version) @@ -138,7 +148,9 @@ while true; do # Функция для запуска Java run_java() { - java -jar "$LIBRARY/$VER.pfapp" -c="$CFGPATH" -l="$LIBRARY" -r="$REPO_URL" + java -jar "$LIBRARY/$VER.pfapp" -c="$CFGPATH" -l="$LIBRARY" -r="$REPO_URL" & + CPID=$! + wait $CPID } # Запускаем Java с возможностью перезапуска при коде возврата 42