verificar constantemente se a caixa virtual está iniciada ou ainda inicializando a partir de um script

2

Estou escrevendo um script de shell para iniciar uma caixa virtual (ubuntu). Após o comando eu quero colocar um loop para continuar verificando o status do VirtualBox e o script sai do loop somente após o Ubuntu ser totalmente iniciado. Algo como

vboxmanage starvm Ubuntu

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

sair quando o vbox estiver totalmente ativado e executar o próximo comando

    
por Mian Asbat Ahmad 13.06.2013 / 12:33

2 respostas

7

Podemos usar o VBoxManage para consultar o estado de uma máquina virtual. O comando a seguir listará todas as máquinas virtuais em execução no seu sistema:

VBoxManage list runningvms

A saída mostrará as seguintes informações que você poderá analisar em mais detalhes no seu script:

"name_of_machine" <UUID>

Isso, é claro, não vai dizer se o sistema operacional convidado inicializou corretamente ou está pronto para uso. Para tais informações, você pode precisar executar um script no guest iniciando após a inicialização para enviar seu estado para o host.

    
por Takkat 13.06.2013 / 13:14
0

Eu sei que é um pouco tarde para responder a essa pergunta. mas pode ajudar os outros. você pode executar o seguinte comando para obter o estado da sua máquina virtual

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

ele informará todas as máquinas virtuais e seu status. execute este comando no seu loop, verifique o status de cada máquina.

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

faça isso para todas as suas vms. espero que ajude

    
por Bilal 16.04.2014 / 13:49