Jak mogę stwierdzić z wiersza poleceń, czy konkretna maszyna wirtualna jest uruchomiona i działa z wiersza polecenia?
virtualbox
BenAlabaster
źródło
źródło
vboxmanage list runningvms
Odpowiedzi:
Dos not (już?) Informuje, czy vm działa, czy nie. Lista również nie działa.
Zwraca 1, jeśli jest uruchomiony, lub 0, jeśli nie.
źródło
if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
vboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
vboxmanage list runningvms
Jeśli chcesz zobaczyć listę wszystkich maszyn wirtualnych, aby zobaczyć, czy są uruchomione, czy nie, użyj tego polecenia:
Spowoduje to wyświetlenie nazwy maszyn wirtualnych w jednym wierszu i jej statusu w następnym wierszu, na przykład w
źródło
... | grep -v -e 'Host path:'
To polecenie wyświetla listę uruchomionych vms (testowane na Virtualbox 5.1)
Aby wiedzieć, czy vm jest uruchomione, to polecenie powinno wykonać zadanie (zwróć 1, jeśli działa, 0 w przeciwnym razie):
źródło
Wierzę, że możesz uzyskać te informacje za pomocą VBoxManage (interfejs wiersza poleceń VirtualBox).
Możesz użyć polecenia showvminfo do wyświetlenia informacji o konkretnej maszynie wirtualnej.
źródło
Łączenie
VBoxManage list runningvms
zgrep
samemu bez niczego innego nie tylko da wyjście konsoli, ale także zapewni kod powrotu wymagany do potrzeb skryptów powłoki.grep
Komenda będzie wymagało dokładnego podwójny cudzysłów dla maszyny wirtualnej w przypadku gdy nazwa VM jest usługa: przykład:Dla działającego
W drugiej odpowiedzi, w której
sed
użyto eliminacji podwójnych cudzysłowów, lub jeśli grep został wykonany bez podwójnych cudzysłowów, zwrócone zostaną fałszywe alarmy. Demonstracja:źródło
Zobacz także ten dokument.
źródło