diff --git a/src/power.sh b/src/power.sh index 08744bf..b393a7a 100644 --- a/src/power.sh +++ b/src/power.sh @@ -41,22 +41,22 @@ finish() { if [ -s "$QEMU_PID" ]; then pid=$(<"$QEMU_PID") - echo && error "Forcefully terminating QEMU process, reason: $reason..." + echo && error "Forcefully terminating Virtual DSM, reason: $reason..." { kill -15 "$pid" || true; } 2>/dev/null while isAlive "$pid"; do sleep 1 cnt=$((cnt+1)) - + # Workaround for zombie pid [ ! -s "$QEMU_PID" ] && break - + if [ "$cnt" == "5" ]; then - error "QEMU did not terminate itself, forcefully killing process..." + echo && error "QEMU did not terminate itself, forcefully killing process..." { kill -9 "$pid" || true; } 2>/dev/null fi - + done fi