J'écris un script Shell pour démarrer une virtualbox (Ubuntu). Après la commande, je veux mettre une boucle for pour continuer à vérifier l'état de virtualbox et le script ne sort de la boucle qu'après le démarrage complet de l'ubuntu. Quelque chose comme
vboxmanage starvm Ubuntu
for (i= 0; i < 100; i++)
{
continue if (vbox is not on)
}
quitter lorsque vbox est complètement allumé et exécuter la commande suivante
Nous pouvons utiliser VBoxManage pour interroger l'état d'une machine virtuelle. La commande suivante répertorie toutes les machines virtuelles en cours d'exécution sur votre système:
VBoxManage list runningvms
La sortie vous montrera les informations suivantes que vous pourrez ensuite analyser dans votre script:
"name_of_machine" <UUID>
Bien entendu, cela ne vous dira pas si le système d'exploitation invité a démarré correctement ou s'il est prêt à être utilisé. Pour de telles informations, vous devrez peut-être exécuter un script sur l'invité commençant après le démarrage pour envoyer son état d'exécution à l'hôte.
Je sais qu'il est un peu tard pour répondre à cette question. mais cela pourrait aider les autres. vous pouvez exécuter la commande suivante pour obtenir l'état de votre machine virtuelle
VBoxManage list vms -l | grep -e Name: -e State
il vous indiquera toutes les machines virtuelles ainsi que leur statut. exécutez cette commande dans votre boucle, vérifiez l'état de chaque machine.
if( stopped || paused )
VBoxManage startvm VMNAME //here VMNAME is variable containing name of your vm
else
//do nothing
faites-le pour tous vos vms. j'espère que ça aide