Возможно, Ctrl-a c и system_powerdown
?
Предполагаемый работать, хотя это, казалось, не работало в моем случае; возможно, OpenBSD и QEMU ACPI не взаимодействуют достаточно хорошо.
qemu отправляет событие завершения работы acpi в VM, если это не может интерпретировать этот вызов, это не завершит работу. В Linux это означает необходимость в выполнении acpid, что касается BSD, я предполагаю, что что-то подобное должно существовать
libvirt
знает, как обработать это. Если Вы не возражаете устанавливать libvirtd
и virsh
, затем можно использовать:
virsh list
показать имя (имена) гостя (гостей). И, для завершения работу корректно гостя с именем guest_001
, используйте команду:
virsh shutdown guest_001
В принципе: отправка «system_powerdown» на монитор QEMU (см. Другие ответы) сигнализирует гостевой ОС о выключении (например, если вы нажали кнопку питания). Вам нужно будет установить powerdown = YES
в /etc/rc.shutdown
, чтобы действительно полностью выключить машину.
К сожалению, в моей реальной настройке здесь, хотя это довольно хорошо работает для реальных аппаратных машин, виртуальная машина зависает при получении события powerdown
. (Это с QEMU-KVM 1.1.2 в Debian Wheezy / amd64 и OpenBSD 5.5 amd64 GENERIC.SP
) Вместо этого вы можете отправить shutdown -h now
или halt -p
в консоль (OpenBSD).