fix: Kill QEMU after 5 seconds if it hangs (#1516)

This commit is contained in:
Kroese 2025-10-19 17:57:18 +02:00 committed by GitHub
parent ac106067bd
commit 4cb7e1074f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -82,22 +82,22 @@ finish() {
if [ -s "$QEMU_PID" ]; then if [ -s "$QEMU_PID" ]; then
pid=$(<"$QEMU_PID") pid=$(<"$QEMU_PID")
error "Forcefully terminating Windows, reason: $reason..." echo && error "Forcefully terminating Windows, reason: $reason..."
{ kill -15 "$pid" || true; } 2>/dev/null { kill -15 "$pid" || true; } 2>/dev/null
while isAlive "$pid"; do while isAlive "$pid"; do
sleep 1 sleep 1
cnt=$((cnt+1)) cnt=$((cnt+1))
# Workaround for zombie pid # Workaround for zombie pid
[ ! -s "$QEMU_PID" ] && break [ ! -s "$QEMU_PID" ] && break
if [ "$cnt" == "5" ]; then 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 { kill -9 "$pid" || true; } 2>/dev/null
fi fi
done done
fi fi