Comment savoir à partir de la ligne de commande si une machine virtuelle spécifique est opérationnelle à partir de la ligne de commande?
virtualbox
BenAlabaster
la source
la source
vboxmanage list runningvms
Réponses:
Dos not (more?) Indique si la VM fonctionne ou non. Il répertorie également ceux qui ne sont pas en cours d'exécution.
Will renvoie 1 s'il est en cours d'exécution ou 0 sinon.
la source
if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
vboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
vboxmanage list runningvms
Si vous voulez une liste de toutes les machines virtuelles pour voir si elles sont en cours d'exécution ou non, utilisez cette commande:
Cela montrera le nom des machines virtuelles sur une ligne et son état sur la ligne suivante, comme dans
la source
... | grep -v -e 'Host path:'
Cette commande affiche la liste des vms en cours d'exécution (testée sur Virtualbox 5.1)
Pour savoir si un vm est en cours d'exécution, cette commande doit faire le travail (retourner 1 si elle est en cours d'exécution, 0 sinon):
la source
Je crois que vous pouvez obtenir ces informations en utilisant VBoxManage (interface de ligne de commande vers VirtualBox).
Vous pouvez utiliser la commande showvminfo pour afficher des informations sur une machine virtuelle particulière.
la source
La combinaison
VBoxManage list runningvms
avecgrep
seul sans autre chose donnera non seulement une sortie console, mais fournira également le code de retour requis pour les besoins de script shell. Lagrep
commande nécessitera le guillemet double exact pour la machine virtuelle dans le cas où un nom vm est fourni: exemple:Pour une course
Dans l'autre réponse, où a
sed
été utilisé pour éliminer les guillemets doubles, ou si la grep a été effectuée sans les guillemets doubles, les faux positifs seront retournés. Manifestation:la source
Consultez également ce document.
la source