qemu虚拟机的关机方式

qemu虚拟机的关闭方式主要包括如下几种方式:

  1. 通过qemu monitor的system_powerdown命令进行关闭,
  2. 在libvirt对qemu进行管理的情况下,通过virsh shutdown命令进行关闭。
  3. 在虚拟机内使用Guest OS自带的关机按钮进行关闭。
  4. 通过qemu monitor的quit命令进行关闭。
  5. 在libvirt对qemu进行管理的情况下,通过virsh destroy命令进行关闭。
  6. 在主机端通过Ctrl+C强制关闭qemu进程关闭虚拟机。
  7. kill/pkill命令结束进程

1. qemu monitor的system_powerdown命令

system_powerdown是qemu monitor中支持的一个命令。

qemu进程的主循环位于vl.c:main_loop(),在主循环会循环调用main_loop_should_exit()判断是否结束主循环。

main_loog_should_exit()函数中会通过qemu_powerdown_requested()函数判断qemu虚拟机是否接收到了powerdown的请求,如果有该请求,则调用qemu_system_powerdown(),该函数先发出POWERDOWN的事件,然后通知注册到powerdown的notifier函数

不同的主板,会注册不同的powerdown notifier

以piix4为例,在piix4_pm_realize函数中,会将piix4_pm_powerdwon_req()这个notify handler注册到qemu虚拟机的powerdown notifier中。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值