我安装了 4 个 Ubuntu 虚拟机(在 VirtualBox 中,它本身由 Ubuntu 托管)。我一次只能使用其中的一个。只有当第一个虚拟机崩溃时(无论出于什么原因),我才能使用任何其他可用的虚拟机。
如何使用任何编程语言、命令行或任何可用方法检测虚拟机是否崩溃?我想自动检测给定虚拟机的崩溃,以便自动启动另一个虚拟机。
答案1
为了显示所有正在运行的虚拟机,我们可以在主机上发出以下命令:
VBoxManage list runningvms
如果我们只想显示正在运行的机器的状态(running
vs paused
),我们也可以从该命令的长输出中读取,例如如下所示
VBoxManage list --long runningvms | grep State
如果您遇到崩溃时客户操作系统冻结但仍在运行此命令,则仍会显示机器处于活动状态。只有当虚拟机完全中止时,我们才会得到结果。
或者,如果虚拟机已通过网络连接,我们也可以尝试 ping 虚拟机。