Sanal makinenin komut satırından hazır olup olmadığını nasıl anlarım?


25

Belirli bir sanal makinenin komut satırından çalışıp çalışmadığını komut satırından nasıl anlayabilirim?


4
vboxmanage list runningvms
slm

Yanıtlar:


17
vboxmanage list vms

Dos (artık?) Vm'nin çalışıp çalışmadığını söyler. Ayrıca çalışan olmayanları da listeler.

vboxmanage showvminfo "your_vm_name" | grep -c "running (since"

Will çalışıyorsa 1, değilse 0 döndürür.


2
Ayrıca,if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
x-yuri

Windows kullanımdavboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
phuclv

3
vboxmanage list runningvms
slm

9

Tüm VM'lerin bir listesinin çalışıp çalışmadığını görmek istiyorsanız bu komutu kullanın:

vboxmanage list vms --long | grep -e "Name:" -e "State:"

Bu, VM'lerin adını bir satırda ve durumunu aşağıdaki satırda gibi gösterir:

Name:            windows10pro
State:           running (since 2017-06-09T09:16:46.593000000)
Name:            ubuntu16LTS
State:           powered off (since 2017-02-09T19:11:33.000000000)
Name:            zammad
State:           running (since 2017-06-09T09:08:13.871000000)

Bu çıktı, ayarlamış olabileceğiniz paylaşılan klasörlerle ilgili bilgileri içerir. Çıkarmak için başka bir grep boru:... | grep -v -e 'Host path:'
Doug Thompson

Bu aynı zamanda DURDURULAN makineleri gösterir, "list runningvms" duraklatılmış makinelerin çalıştığını düşünür ve bu biraz kafa karıştırıcı olabilir ...
Samuel Åslund

5

Bu komut, çalışan vms listesini verir (Virtualbox 5.1'de test edilmiştir)

VBoxManage list runningvms

Bir vm'nin çalışıp çalışmadığını bilmek için, bu komut işi yapmalıdır (çalışıyorsa 1, aksi takdirde 0 döndürür):

VBoxManage list runningvms | sed -r 's/^"(.*)".*$/\1/' | grep 'VM Name' | wc -l

Duraklatılmış bir makine "list runningvms" ile çalışıyor gibi görünüyor, bu sorun giderme sırasında oldukça kafa karıştırıcı olabilir!
Samuel Åslund

1

VBoxManage (VirtualBox için komut satırı arabirimi) kullanarak bu bilgileri alabilirsiniz inanıyorum .

Belirli bir sanal makine hakkında bilgi göstermek için showvminfo komutunu kullanabilirsiniz .

Bu, VBoxManage list vms'nin tüm sanal makineler için göstereceği bilgilerle aynıdır .


1

Birleştirme VBoxManage list runningvmsile grep yalnız başka bir şey olmayan tek bir konsol çıkış vermez, aynı zamanda kabuk komut dosyası ihtiyaçları için gerekli olan dönüş kodu sağlar. grepKomutu bir vm adı verilir durumunda VM için tam çift tırnak gerektirecektir: örnek:

$ VBoxManage list runningvms |grep '"demo_vm"'
$ echo $?
1

Koşan biri için

$ VBoxManage list runningvms |grep '"demo_vm_on"'
"demo_vm_on" {bbff5c0e-f8d4-4751-8d34-c53c4b191613}
$ echo $?
0

sedÇift tırnak işaretlerini ortadan kaldırmak için kullanılan diğer cevapta veya grep çift ​​tırnak işaretleri olmadan yapıldıysa , yanlış pozitifler döndürülür. gösteri:

$ VBoxManage list runningvms |grep demo_vm
"demo_vm_on" {bbff5c0e-f8d4-4751-8d34-c53c4b191613}
$ echo $?
0

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.