Unverified Commit c124a210 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

_QEMU_PID

_QEMU_PID
parents c43ca05d ad06a5a8
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ _trap(){

_graceful_shutdown() {

  [ ! -f "${_QEMU_PID}" ] && return
  [ -f "${_QEMU_SHUTDOWN_COUNTER}" ] && return

  set +e
@@ -45,18 +46,20 @@ _graceful_shutdown(){
    AGENT="${STORAGE}/${BASE}.agent"
    [ -f "$AGENT" ] && AGENT_VERSION=$(cat "${AGENT}") || AGENT_VERSION=1

    if ((AGENT_VERSION < 2)); then
    if ((AGENT_VERSION > 1)); then

      # Send a NMI interrupt which will be detected by the kernel
      echo 'nmi' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}" > /dev/null
 
    else

      echo
      echo "Please update the VirtualDSM Agent to allow gracefull shutdowns..."

      PID=$(cat "${_QEMU_PID}")
      kill -15 "${PID}"
      pkill -f qemu-system-x86_64

    else

      # Send a NMI interrupt which will be detected by the kernel
      echo 'nmi' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}" > /dev/null

    fi
  fi