Add CTRL+C catching
This commit is contained in:
parent
30dd6d21ee
commit
c18ec3d06f
2 changed files with 11 additions and 10 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
server
|
||||
config.env
|
||||
|
|
|
@ -54,20 +54,20 @@ function accept_eula() {
|
|||
echo "eula=true" > /data/eula.txt
|
||||
}
|
||||
|
||||
function kill_server() {
|
||||
kill -SIGINT "$CHILDPID"
|
||||
}
|
||||
|
||||
function run() {
|
||||
echo ":: Starting server"
|
||||
cd /data
|
||||
# We want to use ${ARGS} without using parenthesis
|
||||
# shellcheck disable=SC2086
|
||||
"/usr/lib/jvm/java-${MCSD_JAVA_VERSION}-openjdk/bin/java" -jar "/data/server.jar" ${ARGS}
|
||||
export "exitcode=${?}"
|
||||
# yes it is assigned you idiot
|
||||
# shellcheck disable=SC2154
|
||||
if [ "${exitcode}" == "0" ]; then
|
||||
echo ":: The server was shut down successfully"
|
||||
else
|
||||
echo ":: The server was forcefully shut down (code ${exitcode})"
|
||||
fi
|
||||
"/usr/lib/jvm/java-${MCSD_JAVA_VERSION}-openjdk/bin/java" -jar "/data/server.jar" ${ARGS} &
|
||||
export "CHILDPID=${!}"
|
||||
trap kill_server SIGTERM
|
||||
trap kill_server SIGINT
|
||||
wait
|
||||
case "${MCSD_AUTO_RESTART}" in
|
||||
"true")
|
||||
echo ":: Restarting server after shutdown"
|
||||
|
@ -88,7 +88,7 @@ function main() {
|
|||
initialize
|
||||
check
|
||||
accept_eula
|
||||
if [ "${MCSD_CLEAN_LOGS}" == "true" ]; then rm -rf "/data/logs"; fi
|
||||
if [ "${MCSD_CLEAN_LOGS}" == "true" ]; then rm -rf "/data/logs" "/data/crash-reports"; fi
|
||||
run
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue