如何从命令行判断特定虚拟机是否已启动并正在运行?
答案1
vboxmanage list vms
不再会显示虚拟机是否正在运行。它还会列出未运行的虚拟机。
vboxmanage showvminfo "your_vm_name" | grep -c "running (since"
如果正在运行则返回 1,否则返回 0。
答案2
如果您想要列出所有虚拟机以查看它们是否正在运行,请使用以下命令:
vboxmanage list vms --long | grep -e "Name:" -e "State:"
这将在一行中显示虚拟机名称,并在下一行中显示其状态,例如
Name: windows10pro
State: running (since 2017-06-09T09:16:46.593000000)
Name: ubuntu16LTS
State: powered off (since 2017-02-09T19:11:33.000000000)
Name: zammad
State: running (since 2017-06-09T09:08:13.871000000)
答案3
此命令输出正在运行的虚拟机列表(在 Virtualbox 5.1 上测试)
VBoxManage list runningvms
要知道虚拟机是否正在运行,可以使用以下命令(如果正在运行则返回 1,否则返回 0):
VBoxManage list runningvms | sed -r 's/^"(.*)".*$/\1/' | grep 'VM Name' | wc -l
答案4
我相信你可以使用以下方式获取此信息垂直框管理(VirtualBox 的命令行界面)。
您可以使用showvminfo 命令显示有关特定虚拟机的信息。
这与VBoxManage 列表虚拟机将显示所有虚拟机。