Как узнать из командной строки, запущена ли конкретная виртуальная машина и работает ли она из командной строки?
virtualbox
BenAlabaster
источник
источник
vboxmanage list runningvms
Ответы:
Dos not (больше?) Говорит, работает ли vm или нет. Это список также не работает.
Возвращает 1, если он работает, или 0, если нет.
источник
if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
vboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
vboxmanage list runningvms
Если вы хотите получить список всех виртуальных машин, чтобы увидеть, работают они или нет, используйте эту команду:
Это покажет имя виртуальной машины в одной строке и ее статус в следующей строке, например, в
источник
... | grep -v -e 'Host path:'
Эта команда выводит список запущенных vms (проверено на Virtualbox 5.1)
Чтобы узнать, работает ли vm, эта команда должна выполнить задание (верните 1, если запущено, 0 в противном случае):
источник
Я считаю, что вы можете получить эту информацию с помощью VBoxManage (интерфейс командной строки для VirtualBox).
Вы можете использовать команду showvminfo для отображения информации о конкретной виртуальной машине.
источник
Объединение
VBoxManage list runningvms
сgrep
одним без всего другого даст не только вывод консоли, но и код возврата, необходимый для сценариев оболочки. Командаgrep
потребует точную двойную кавычку для виртуальной машины в случае, если указано имя виртуальной машины: пример:Для бегущего
В другом ответе,
sed
который использовался для удаления двойных кавычек или если grep был выполнен без двойных кавычек, будут возвращаться ложные срабатывания. Демонстрация:источник
Также смотрите этот документ.
источник