PID
This commit is contained in:
Kroese 2023-04-29 00:26:41 +02:00 committed by GitHub
commit a37ec2c4cc
2 changed files with 11 additions and 14 deletions

View File

@ -21,13 +21,12 @@ _trap(){
_graceful_shutdown() {
set +e
[ ! -f "${_QEMU_PID}" ] && return
[ -f "${_QEMU_SHUTDOWN_COUNTER}" ] && return
set +e
echo
echo "Received $1 signal, shutting down..."
echo && echo "Received $1 signal, shutting down..."
echo 0 > "${_QEMU_SHUTDOWN_COUNTER}"
# Don't send the powerdown signal because vDSM ignores ACPI signals
@ -38,8 +37,7 @@ _graceful_shutdown() {
if [[ ! "${RESPONSE}" =~ "\"success\"" ]] ; then
echo
echo "ERROR: Could not send shutdown command to the guest ($RESPONSE)"
echo && echo "ERROR: Could not send shutdown command to the guest ($RESPONSE)"
# If we cannot shutdown the usual way, fallback to the NMI method
@ -53,11 +51,9 @@ _graceful_shutdown() {
else
echo
echo "Please update the VirtualDSM Agent to allow for gracefull shutdowns..."
echo && echo "Please update the VirtualDSM Agent to allow for gracefull shutdowns..."
PID=$(cat "${_QEMU_PID}")
kill -15 "${PID}"
kill -15 "$(cat "${_QEMU_PID}")"
pkill -f qemu-system-x86_64
fi
@ -78,8 +74,7 @@ _graceful_shutdown() {
done
echo
echo "Quitting..."
echo && echo "Quitting..."
echo 'quit' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}" > /dev/null || true
return

View File

@ -80,8 +80,10 @@ set -m
)
set +m
PID="$(cat "${_QEMU_PID}")"
if (( KERNEL > 4 )); then
pidwait -F "${_QEMU_PID}" & wait $!
pidwait "$PID" & wait $!
else
tail --pid "$(cat "${_QEMU_PID}")" --follow /dev/null & wait $!
tail --pid "$PID" --follow /dev/null & wait $!
fi