From 221b0242fa9cabd753156777f11528bb45384b09 Mon Sep 17 00:00:00 2001 From: Kroese Date: Sun, 19 Oct 2025 16:57:51 +0200 Subject: [PATCH] fix: Kill QEMU after 5 seconds when it hangs (#1086) --- src/power.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/power.sh b/src/power.sh index 463cb66..08744bf 100644 --- a/src/power.sh +++ b/src/power.sh @@ -33,6 +33,7 @@ _trap() { finish() { local pid + local cnt=0 local reason=$1 touch "$QEMU_END" @@ -44,10 +45,20 @@ finish() { { 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..." + { kill -9 "$pid" || true; } 2>/dev/null + fi + done + fi fKill "print.sh"