постоянно проверять, запущен ли виртуальный ящик или все еще загружается из скрипта

Я пишу сценарий оболочки для запуска virtualbox (Ubuntu). После команды я хочу поставить цикл for для проверки состояния виртуального ящика, и сценарий выходит из цикла только после полного запуска ubuntu. Что-то вроде

vboxmanage starvm Ubuntu

for (i= 0; i < 100; i++)
{
continue if (vbox is not on)
}

завершает работу, когда vbox полностью включен, и выполняет следующую команду

2
задан 13 June 2013 в 14:45

2 ответа

Мы можем использовать VBoxManage для запроса состояния виртуальной машины. Следующая команда выведет список всех запущенных виртуальных машин в вашей системе:

VBoxManage list runningvms

Вывод покажет вам следующую информацию, которую вы затем сможете проанализировать в своем скрипте:

"name_of_machine" <UUID>

This конечно, не скажет вам, правильно ли загружена гостевая ОС или она готова к использованию. Для получения такой информации вам может потребоваться запустить скрипт на гостевой системе, начиная с начальной загрузки, чтобы отправить его состояние выполнения хосту.

0
ответ дан 13 June 2013 в 14:45

Я знаю, что уже поздно отвечать на этот вопрос. но это может помочь другим. Вы можете выполнить следующую команду, чтобы узнать состояние вашей виртуальной машины

VBoxManage list vms -l | grep -e Name: -e State

, она сообщит вам все виртуальные машины вместе с их статусом. Запустите эту команду в своем цикле, проверьте состояние каждого компьютера.

if( stopped || paused ) 
VBoxManage startvm VMNAME           //here VMNAME is variable containing name of your vm
else
//do nothing

сделать это для всех ваших VMS. я надеюсь, что это поможет

0
ответ дан 13 June 2013 в 14:45

Другие вопросы по тегам:

Похожие вопросы: